C 常用文件操作函数
来源:互联网 发布:甄姬出装 知乎 编辑:程序博客网 时间:2024/05/29 15:03
在C语言中,或更精确地说成C标准函数库中表示文件结束符(end of file)。在while循环中以EOF作为文件结束标志,这种以EOF作为文件结束标志的文件,必须是文本文件。在文本文件中,数据都是以字符的ASCII代码值的形式存放。我们知道,ASCII代码值的范围是0~255,不可能出现-1,因此可以用EOF作为文件结束标志。
注:char c==EOF 可以这样用
feof(FILE *stream) 返回1文件到结尾,返回0没到
fgets()
格式:char *fgets(char *s, int n, FILE *stream);
作用从流中读一行或指定个字符
fgetc()
格式:int fgetc(FILE *stream);
这个函数的返回值,是返回所读取的一个字节。如果读到文件末尾或者读取出错时返回EOF。
fseek()
int fseek(FILE *stream, long offset, int fromwhere)
文件任意定位修改,打开模式是“rb+”
函数设置文件指针stream的位置。如果执行成功,stream将指向以fromwhere为基准,偏移offset(指针偏移量)个字节的位置,函数返回0。如果执行失败(比如offset超过文件自身大小),则不改变stream指向的位置,函数返回一个非0值。
实验得出,超出文件末尾位置,还是返回0。往回偏移超出首位置,返回-1,且指向一个-1的位置,请小心使用。
调用形式:
#include"stdio.h"
fseek(文件类型指针fp,位移量,起始点);
函数功能:把与fp有关的文件位置指针放到一个指定位置。
其中,“位移量”是long型数据,它表示位置指针相对于“起始点”移动的字节数。如果位移量是一个正数,表示从“起始点”开始往文件尾方向移动;如果位移量是一个负数,则表示从“起始点”开始往文件头方向移动。
“起始点”不能任意设定,它只能是在stdio.h中定义的三个符号常量之一:
起始点
对应的数字代表的文件位置
SEEK_SET
0 文件开头SEEK_CUR
1 文件当前位置SEEK_END
2 文件末尾例如:
fseek(fp,50L,0);或fseek(fp,50L,SEEK_SET);
其作用是将位置指针移到离文件头50个字节处。
成功,返回0,失败返回-1,并设置errno的值,可以用perror()函数输出错误。
fseek position the file(文件) position(位置) pointer(指针) for the file referenced by stream to the byte location calculated by offset.
fread()
size_t fread ( void *buffer, size_t size, size_t count, FILE *stream) ;
参 数
buffer
用于接收数据的内存地址
size
要读写的字节数,单位是字节
count
要进行读写多少个size字节的数据项,每个元素是size字节.
stream
输入流
返回值
实际读取的元素个数.如果返回值与count不相同,则可能文件结尾或发生错误.
从ferror和feof获取错误信息或检测是否到达文件结尾.
fwrite
size_t fwrite(const void* buffer, size_t size, size_t count, FILE* stream);
注意:这个函数以二进制形式对文件进行操作,不局限于文本文件
返回值:返回实际写入的数据块数目
(1)buffer:是一个指针,对fwrite来说,是要获取数据的地址;
(2)size:要写入内容的单字节数;
(3)count:要进行写入size字节的数据项的个数;
(4)stream:目标文件指针;
(5)返回实际写入的数据项个数count。
说明:写入到文件的哪里? 这个与文件的打开模式有关,如果是w+,则是从file pointer指向的地址开始写,替换掉之后的内容,文件的长度可以不变,stream的位置移动count个数;如果是a+,则从文件的末尾开始添加,文件长度加大。
fseek对此函数有作用,但是fwrite[1] 函数写到用户空间缓冲区,并未同步到文件中,所以修改后要将内存与文件同步可以用fflush(FILE *fp)函数同步。
0 0
- C文件操作常用函数
- C 常用文件操作函数
- Linux 常用C函数(文件操作篇)
- Linux 常用C函数(文件操作篇)
- Linux C || 常用文件内容操作函数
- linux常用c函数 文件操作篇
- C语言中常用文件操作函数
- C语言文件操作常用函数归纳
- C语言中关于文件操作的常用函数
- Linux 常用C函数(文件内容操作篇1)
- Linux 常用C函数(文件内容操作篇2)
- Linux 常用C函数(文件内容操作篇2)
- Linux 常用C函数(文件内容操作篇1)
- Linux常用C函数—文件内容操作篇
- c/c++ 文件操作相关的常用函数
- C语言中常用的文件操作函数
- c语言关于文件操作的常用函数(新手入门看)
- c文件操作函数
- mybatis 实现一对一关联表查询
- 移动端WEB开发,click,touch,tap事件浅析
- 集合框架
- 30分钟玩转Docker系列课程1---初识Docker
- 陈力:传智播客古代 珍宝币 泡泡龙游戏开发第43讲:PHP程序设计中的MVC模式
- C 常用文件操作函数
- Android实战简易教程-第二十六枪(基于ViewPager实现微信页面切换效果)
- JSP用户登录(JavaBean操作sql server数据库) (tomcat服务器)
- 谷歌员工自曝工资 硅谷禁忌被打破
- 陈力:传智播客古代 珍宝币 泡泡龙游戏开发第44讲:PHP程序设计中的COOKIE
- 使用Vert.x的核心包创建HTTPS调用。
- Num 11 : HDOJ: 题目1002 : A+B ( 大数问题 )
- 【算法学习】【图像增强】【Retinex】Retinex Image Processing(NASA)
- 用C语言一次性读取多个文件,大量文件