[转]FILE的用法

时间:2022-09-22 07:43:59
 #include <stdio.h>
int main()
{
char c;
int i = ;
FILE *file;
file = fopen("test.txt", "w+");
fprintf(file, "%c", 'a');
fprintf(file, "%c", -);
fprintf(file, "%c", 'b');
fclose(file);
file = fopen("test.txt", "r");
while ((c = fgetc(file)) != -)
printf("%c", c);
return ;
}

以下内容转自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值。