文件操作04 零基础入门学习C语言63

第十一章:文件操作04

 

让编程改变世界

Change the world by program


 

格式化读写函数: fprintf()和fscanf()

 

函数调用:

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

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

函数功能:

从磁盘文件中按格式读入或输出字符。

fprintf(fp, "%d,%6.2f", i, t);

fscanf (fp, "%d,%f", &i, &t);

 

顺序读写和随机读写

 

顺序读写:

位置指针按字节位置顺序移动。

随机读写:

读写完上一个字符(字节)后,并不一定要读写其后续的字符(字节),而可以读些文件中任意位置上所需要的字符(字节)。  

fseek函数(一般用于二进制文件)

函数功能:

改变文件的位置指针

函数调用形式:

fseek(文件类型指针,位移量,起始点)

起始点:

文件开头          SEEK_SET 0 文件当前位置  SEEK_CUR 1 文件末尾           SEEK_END 2 位移量:以起始点为基点,向前移动的字节数。  

fseek函数应用举例

fseek(fp,100L,0); 将位置指针移到离文件头100个字节处 fseek(fp,50L,1); 将位置指针移到离当前位置50个字节处 fseek(fp,50L,2); 将位置指针从文件末尾处向后退10个字节 fseek(fp,i*sizeof(struct stu),0); 将位置指针移到离文件头i*sizeof(struct stu)这个距离处。  

举例论证

在学生文件stu_list中读出第二个学生的数据。  

ftell函数

 

函数作用:

得到流式文件中的当前位置,用相对于文件开头的位移量来表示。

返回值:

返回当前位置,出错时返回-1L。

应用举例:

i = ftell(fp);

if(i == -1L)

printf(“errorn”);

 

出错的检测

 

ferror函数

调用形式:

ferror(fp);

返回值:

返回0,表示未出错;返回非0,表示出错。

注意:

在调用一个输入输出函数后立即检查ferror函 数的值,否则信息会丢失。在执行fopen函数 时,ferror函数的初始值自动置为0。  

clearerr函数

调用形式:

clearerr(fp);

函数作用:

使文件错误标志和文件结束标志置为0。只要出现错误标志,就一直保留,直到对同一文件调用clearerr函数或rewind函数,或任何其他一个输入输出函数。 [buy] 获得所有教学视频、课件、源代码等资源打包 [/buy] [Downlink href='http://kuai.xunlei.com/d/LMIAEPVMSSWS']视频下载[/Downlink]
原文地址:https://www.cnblogs.com/LoveFishC/p/3846072.html