C语言基础之常用文件操作2(附代码)
这里在上一章的基础上再介绍几个常用的文件操作的函数,包括fprintf、fscanf、ftell、fseek等。
文件操作函数介绍
1、fprintf 函数
函数原型:
int fpringf(FILE* stream,const char *format,[argument])
参数解析:
1)FILE*stream:文件指针
2)const char* format:输出格式
3)[argument]:附加参数列表
fprintf函数可以按照格式把数字记录在文本文件里,它与printf函数的用法除第一个参数的文件指针之外都是相同的。
2、fscanf函数
函数原型:
int fscanf(FILE*stream, constchar*format, [argument…]);
参数解析:
1)FILE *stream:文件指针
2)char *format:格式字符串
3)[argument…]:输入列表
fscanf函数可以按照格式从文本文件里获得数字并记录到变量里,它与scanf函数的用法除第一个参数的文件指针之外都是相同的。
3、ftell函数
函数原型:
long ftell(FILE *stream);
参数解析: FILE *stream:文件指针
ftell函数用于得到文件位置指针当前位置相对于文件首的偏移字节数。
注意:该函数对大于2.1G以上的文件操作时可能出错。
小知识:
文件的位置指针:
计算机里为每个打开的文件保留一个整数,这个整数表示下一次文件读写操作
在什么地方开始。这个整数的数值就是文件头到这个位置之间包含的字节个数,这个整数叫做文件的位置指针。当从文件中读出n个字节或者写入n个字节后位置指针的数值都会增加n。
4、fseek函数
函数原型:
int fseek(FILE *stream, long offset, int fromwhere);
参数解析:
1)stream为文件指针
2)offset为偏移量,正数表示正向偏移,负数表示负向偏移
3)fromwhere为设定从文件的哪里开始偏移,可能取值为:SEEK_CUR、 SEEK_END 或 SEEK_SET
返回值:
成功,返回0,失败返回-1,并设置error的值,可以用perror()函数输出错误。
fseek函数可以把位置指针设置到任何位置,fseek函数在使用的时候需要指定一个基准位置以及目标位置到基准位置的距离。如果目标位置在基准位置后则距离用正数表示,如果目标位置在基准位置前则距离用负数表示,距离的数值就是两个位置之间包含的字节个数.
演示代码1:
演示代码2:
演示代码3:
演示代码4:
准备一个b.txt如下图:
可以通过该函数练习位置指针前后移动的使用。
以下是我的个人公众号,主要作为C/C++语言技术分享使用,欢迎添加交流:
C语言基础之常用文件操作1(附代码)
http://blog.csdn.net/coding13/article/details/78423124