22年的第一篇博客,总结一下之前学的东西。
1.动态内存分配,
1.malloc 2.calloc 3.realloc
malloc--- 用后一定要free掉
calloc---会把内存的值初始化为0
realloc---- 先用另外一个指针接收,防止申请内存失败,
int* p= (int*)malloc(sizeof(int));
int* ret=realloc(p,10*sizeof(int));
if(ret!=NULL)
{
p=ret;
}
2.文件操作
fopen要用FLILE型的指针去维护,
FILE* pf=fopen("text.c","r");
fclose(pf);
pf=NULL;
这里也要判断指针是否为空。
if(pf==NULL)
{
perror();
}
2.文件函数
1.fgetc 2.fputc 3.fgets 4.fputs 5.二进制输入 fwrite(&a,sizeof(struct S),1,pf) 6.二进制输出 fread(&a,sizeof(struct S),1,pf)
w文件的随机读取----fseek
int
main
()
{
FILE
*
pFile
;
pFile
=
fopen
(
"example.txt"
,
"wb"
);
fputs
(
"This is an apple."
,
pFile
);
fseek
(
pFile
,
9
,
SEEK_SET
);
fputs
(
" sam"
,
pFile
);
fclose
(
pFile
);
return
0
;
}
ftell----
返回文件指针相对于起始位置的偏移量
ftell(pf)
rewind---让文件指针的位置回到初始位置
根据数据的组织形式,数据文件被称为
文本文件
或者
二进制文件
。
文件读取结束的判定
feof----
应用于当文件读取结束的时候,判断是读取失败结束,还是遇到文件尾结束
。
文件缓冲区
stdin--标准输入设备 stdout---标准输出设备