c语言中关于文件处理的相关内容

字符读/写

Fputs:把字符写入指向文件中  正常返回c  ; 出错返回EOF

Int fputs(char c, FILE *fp)

Fgets:指向文件中读取字符  正常返回c  ; 出错或读到文件尾部返回EOF

Int fgets(FILE *fp)

判断文件是否结束

While(fgetc(fp) != EOF)

If(feof(fp))

Printf(“end of file\n”);

 

字符串读/写: fgets与fputs

char  *fgets(char  *s,int n,FILE  *fp)

 int   fputs(char  *s,FILE  *fp)

功能:从fp指向的文件读/写一个字符串

返回值:

fgets正常时返回读取字符串的首地址;出错或文件尾,返回NULL

fputs正常时返回写入的最后一个字符;出错为EOF

fgets从fp所指文件读n-1个字符送入s指向的内存区,

并在最后加一个‘\0’(若读入n-1个字符前遇换行符或文件尾(EOF)即结束)

格式化输入/输出

与printf函数和scanf函数作用相仿,但读写对象不是终端而是文件(即将字符串存储在文件里)一般调用格式为:

fprintf(文件指针,格式字符串,输出表列);

fscanf(文件指针,格式字符串,输入表列);

功能:按格式对文件进行I/O操作

返回值:成功,返回I/O的个数;出错或文件尾,返回EOF

二进制文件的顺序读写

一次读写一个数据块   

一般调用形式为:  fread(buffer,size,count,fp);

                 fwrite(buffer,size,count,fp);

功能:读/写数据块,把内存的内容直接复制到文件里

返值:成功返回读/写的块数;出错或文件尾,返回0

说明:

buffer:  指向要输入/输出数据块的首地址的指针

size:  每个要读/写的数据块的大小(字节数)

count:   要读/写的数据块的个数

fp:    要读/写的文件指针

fread与fwrite 一般用于二进制文件的输入/输出

文件定位函数及文件随机读写

几个概念

文件位置指针-----指向当前读写位置的指针

读写方式

顺序读写:位置指针按字节位置顺序移动,叫~

随机读写:位置指针按需要移动到任意位置,叫~

rewind函数

函数原型:  void  rewind(FILE  *fp)

功能:重置文件位置指针到文件开头

返回值:无

fseek函数

函数原型:int  fseek(FILE  *fp,long  offset,int whence)

功能:改变文件位置指针的位置

返回值:成功,返回0;失败,返回非0值

位移量(移动的字节数)

>0    向后移动     <0    向前移动

起始点

文件开始              SEEK_SET     0

文件当前位置      SEEK_CUR    1

文件末尾              SEEK_END    2

ftell函数

函数原型:  long  ftell(FILE  *fp)

功能:返回当前的读写位置(即相对文件开头的位移量)

返值:成功,返回当前的读写位置;失败,返回-1L

出错的检测

ferror函数

函数原型:   int  ferror(FILE  *fp)

功能:测试文件是否出现错误

返值:未出错,0;出错,非0

说明:

文件出错标志:在FILE结构中。若该标志设置了,ferror函数返回真(非0),否则返回假。

每次调用文件输入输出函数,均重新设置出错标志,所以应及时测试

fopen打开文件时,文件出错标志没有被设置

clearerr函数

函数原型:   void  clearerr(FILE  *fp)

功能:使文件错误标志置为0

返回值:无

说明:出错后,错误标志一直保留,直到对同一文件调clearerr(fp)或rewind或任何其它一个输入输出函数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值