[转]FILE的用法
1 #include <stdio.h>
2 int main()
3 {
4 char c;
5 int i = 0;
6 FILE *file;
7 file = fopen("test.txt", "w+");
8 fprintf(file, "%c", 'a');
9 fprintf(file, "%c", -1);
10 fprintf(file, "%c", 'b');
11 fclose(file);
12 file = fopen("test.txt", "r");
13 while ((c = fgetc(file)) != -1)
14 printf("%c", c);
15 return 0;
16 }
17
18
以下内容转自https://blog.csdn.net/YI_FX_/article/details/80643709
对文件的处理,自己整理的一点点内容,希望能够帮助到大家。
首先是文件的打开和关闭----定义一个指针,FILE *fp;
char ch[20];
fopen("filename.txt","r");前面是文件名,后面是操作类型,r表示只读。
fclose(fp);表示关闭这个文件。
第二个是读取内容---大致分为四类1. 对单个字符读取---fgetc(fp);与之对应的是写入操作,fputc(sizeof(类型),fp)写入位置以及指针。
2.对字符串的读取与写入----fgets(ch,sizeof(类型),fp); 对应的写入是fputs(ch,fp) 。
3对数据块的读取和写入-----fread(ch,sizeof(char),1,fp),fwrite(ch,sizeof(char),1,fp)//这个是以上面定义的字符数组为例, 4.格式化的读取和写入--------fprintf(fp,"%c",ch[i) fscanf(fp,"%c",&ch[i]); 这个一般是对文本文件使用
第三个是检测是否以及读取到文件尾部---feof(fp) ,这个函数返回的是逻辑值,如果到达尾部为1,否则为0。
第四个是检测出错函数-----ferror(fp) ,如果文件正常则返回0,一般用在输入输出函数后面,以检查输入输出函数是否正确。
第五个是文件的随机读取----有以下几个函数
1-fseek(文件指针,位移量,起始点),这个函数返回值是0,1,2。0表示文件开头,1表示文件当前位置,2表示文件末尾。可以用来对文件读写位置进行定位(关于这个函数,谁还有更详细的解说,介绍可以在下面加)格式为,fseek(fp,sizeof(char)*n,size),这里的n表示个数,即第几个开始读写。
2-ftell()用了返回文件读写位置离文件开头的字节数,其值为long类型,出错的时候返回-1。ftell(fp)。
3-rewind(fp),这个函数是用来返回文件的开头的,调用成功返回0,否则返回非0值。