如何应对C语言考试的文件操作

这篇博客详细介绍了C语言中文件操作的相关函数,包括fopen的打开模式,如r、w、a等,以及fclose、feof、ferror等用于文件读写、状态检查和错误处理的函数。还提到了二进制文件的读写、文件定位和缓冲区管理。文章重点阐述了如何使用这些函数进行文件的读写操作和错误检测,对于理解C语言文件处理非常有帮助。
摘要由CSDN通过智能技术生成

首先先解决文件操作的具体函数,如下(fp为文件指针,指向一个文件):

1.(1)fopen fopen("****.txt","a "); 打开一个文件,并指定打开文件的方式。(可以自己在屏幕输入字符来打开自己想要的文件)成功返回一个文件指针(文件信息起始地址),失败返回一个NULL/0

方式如下:

r表示可读,没有这个文件会报错,返回值NULL;

w表示可写,如果没有文件可以创造一个新文件,如果原文件有内容则会删除内容

wb+表示二进制文件的可读写,如果没有原文件就创造一个新文件

rb+也表示二进制文件的可读写,但只能在已经有这个二进制文件中使用(所以考试中尽量选wb+)

a 以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。a+ 以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。

fclose(fp);关闭文件,释放缓存区。成功返回0,失败返回1;(成功/失败取决于文件是否有错)

feof(fp);主要是判断文件是否结束(结束返回非0值,否则返回0值)常与调用函数读取或存在文件信息存放到数组梦幻联动.

eg:while(!feop(fp))

{

                   fread(str,sizeof(struct stu),n,fp);

}

此时读取了文件所有信息

ferror(fp);返回1说明有错,0说明没错。

clearerr(fp);交换ferror和feof的返回值。

2.(注意:此处str相当于首地址哦!)

fgetc(fp); 一般与char ch; ch=fgetc(fp); putchar(ch);梦幻联动

fputc(str,fp); 把数据传输到文件里

fputs(str,fp);

fgets(str,n,fp); 从文件中指定读取(n-1)个数据

fprintf(fp,%,输出成员); 把数值传给文件

fscanf(fp,%,输入成员); 从文件中读取数据

fwrite(*butter,sizeof(),n,fp);  作用于二进制文件,写入文件;

fread(*butter,sizeof(),n,fp);     作用于二进制文件,读取文件;其中butter表示指针,指向存放数据的地址

ftell(fp);告诉你当前指针位置;

rewind(fp);回到文件开头;

fseek(fp,n,m)   n有正负值,正值表示向后移动,负值表示向前移动,m有0-2,0表示文件开头,1表示当前位置,2表示文件结尾

(3)特别注意几个关键函数的返回值!:

fgetc(fp);成功返回得到的字符,失败返回EOF

fputcstr,fp);成功返回得到的字符,失败返回非0

fgets(str,n,fp);成功返回地址str,失败返回返回NULL/0

fputs(str,fp);成功返回0,失败返回返回非0

ferror(fp);返回1说明有错,0说明没错。

fclose(fp);成功返回0,失败返回1;(成功/失败取决于文件是否有错)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值