C语言文件编程
来源:互联网 发布:向日葵之夜 知乎 编辑:程序博客网 时间:2024/05/21 08:54
C语言文件的操作函数很多,包括打开关闭,字符读写,字符串读写,数据块读写,文件定位等。
1、文件打开函数:fp = fopen(“passwd”,“r”);
2、文件关闭函数:fclose(fp);
3、字符读写函数:
ch =fgetc(fp);//读一个字符
fputc(ch,fp);//写一个字符
4、字符串读写函数:
fgets(str,n,fp); //读一个字符串
说明:从fp指向的文件读n-1 个字符,在最后加一个'\0', str为存放数据的首地址.遇到'\n'停止,会把'\n'也读入。
fputs(“china”,fp); //写一个字符串
说明:向指定的文件写一个字符串,第一个参数可以是字符串常量、字符数组名或字符型指针,字符串末尾的'\0'不会写到文件中.
5、数据块读写函数:
fread(buffer,size,count,fp );
buffer:指向存储数据空间的首地址的指针.
size:要读数据的字节数
count:要读多少个size字节的数据
fp:指向要进行读操作的文件
fwrite( buffer,size,count,fp );
buffer:指向存储数据空间的首地址的指针.
size:要写数据的字节数
count:要写多少个size字节的数据
fp:指向要进行写操作的文件
6、格式化读写函数:
fprintf ( 文件指针,格式字符串,输出表列);
fscanf ( 文件指针,格式字符串,输入表列);
a)fscanf、fprintf函数与前面使用的scanf、printf函数的功能相似,都是格式化读写函数.
b)两者的区别在于fscanf、fprintf函数的读写对象不是键盘和显示器,而是磁盘文件.
c)用fprintf、fscanf函数对磁盘文件读写,使用方便,但在输入、输出时需要进行类型转换,消耗较高资源.
d)在内存与磁盘频繁交换数据的情况下,最好不用fprintf和fscanf函数,而用fread和fwrite函数.
注意:
sscanf():本应该从键盘拿东西,现在从一个字符串拿。
sprintf():本应该打印到显示器的东西,现在输出到数组。
注:EOF不是可输出字符,其值为-1,当读入的字符值等于-1时,表示读入的已不是正常的字符而是文件结束符.
扩展部分一:随机读写函数rewind、ftell和fseek
7、rewind函数
定义函数:void rewind(文件指针);
函数功能:把文件内部的位置指针移到文件首
8、ftell函数
定义函数:long ftell(文件指针);
函数功能:取得文件流目前的读写位置.
返回值:返回当前位置,出错时返回-1.
9、fseek函数(一般用于二进制文件)
定义函数:int fseek(文件指针,位移量,起始点);
函数功能:移动文件流的读写位置.
起始点说明:
文件开头SEEK_SET 0
文件当前位置SEEK_CUR 1
文件末尾SEEK_END 2
位移量:以起始点为基点,向前后移动的字节数.一般要求为long型.
函数应用举例
•fseek( fp,100L,0);
将位置指针从文件头移到离文件头100个字节处.
•fseek( fp,50L,1);
将位置指针从当前位置移到离当前50个字节处.
•fseek( fp,-50L,2);
将位置指针从文件尾移到离文件尾50个字节处.
扩展部分二:文件检测函数
10、文件结束检测函数feof
调用格式:feof(文件指针);
功能:判断文件是否处于文件结束位置.
返回值:文件结束返回值为1,否则为0.
11、读写文件出错检测函数ferror
调用格式:ferror(文件指针);
功能:检查文件在用各种输入输出函数进行读写时是否出错.
返回:值为0表示未出错,否则表示有错
12、文件出错标志和文件结束标志置0函数clearerr
调用格式:clearerr(文件指针);
功能:本函数用于清除出错标志和文件结束标志,使它们的值为0。
- C语言文件编程
- C语言多文件编程
- 【C语言】多文件编程
- Unix下C语言----标准文件编程
- Unix下C语言----低级文件编程
- Unix下C语言----目录文件编程
- c语言编程之文件监视器
- C语言编程获取PE文件Option_Header
- C语言编程获取PE文件Section_Header
- Linux 文件编程及通用C语言的文件编程
- Linux C编程(3) 使用C语言函数读写文件
- linux操作系统下c语言编程入门 -- (3)文件操作
- linux操作系统下c语言编程入门--文件操作
- Linux下C语言编程--文件的操作
- Linux下C语言编程--文件的操作
- Linux下C语言编程--文件的操作
- Linux下C语言编程--文件的操作
- Linux下C语言编程--文件的操作
- 将静态库打包成一个大库方法
- 海阔天空
- C++ EOF、swap
- 深入Java集合学习系列:HashMap的实现原理
- 写在头上,以此纪念我的程序人生!
- C语言文件编程
- 使用格式控制符进行输出格式的设置(讲解)
- 百度编辑器ueditor的部署和二次开发
- HDU 1507
- jsp 使用自定义标签时候错误
- 数据结构之循环队列
- 关于JAVA里面赋值的问题
- cocos2d-x v3.0beta2使用cocostudio制作的动画
- UIButton 触发多个事件 响应同一函数