课上讲了一些关于文件操作的库内的函数open,read,write,close,seek和fopen,fread,fwrite,fclose,fseek,ftell等,前面不带f的是非缓冲文件的操作,带f的是缓冲文件的操作,主要区别就是内存和系统之间是否存在缓冲区,且缓冲区若遇到换行则将缓冲区的内容刷新至文件中,这个文件就是显示器抽象成的文件,他会显示缓冲区中刷新出来的内容。
open是有文件打开文件,没文件则新建文件后打开,且需要给该文件权限,fopen则是在后面加上对应的条件,a为清空后添加,a+为后面累加
fwrite是将数据写进一个文件中,fread和fwrite对于read来说只是后面括号中的格式不同
int main()
{
FILE *fp;
char buf[32]="hello";
int ret=0;
fp=fopen("hello.txt","a+");
if(fp == 0)
{
perror("fopen");
exit(1);
}
ret=fwrite(buf,1,strlen(buf),fp);
if(ret == 0)
{
perror("fwrite");
exit(1);
}
ret=fread(buf,1,sizeof(buf),fp);
if(ret == 0)
{
perror("fread");
exit(1);
}
printf("%s",buf);
return 0;
}
int main(int argc,char *argv[])
{
FILE *fp;
int num=0;
fp=fopen(argv[1],"a+");
if(NULL == fp)
{
perror("fopen");
exit(1);
}
fseek(fp,0,SEEK_END);
num=ftell(fp);
printf("%d",num);
return 0;
}