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。

0 0
原创粉丝点击