您的位置:首页 > 编程语言 > C语言/C++

C语言之文件操作

2015-11-22 19:33 627 查看
一、文本文件与二进制文件1、文本文件在磁盘中存放时每个字符对应一个字节,用于存放对应的ASCII码.2、二进制文件是按二进制的编码方式来存放文件的。二、文件定义·1、文件结构指针的定义方法为FILE *fpfp是FILE类型的指针变量,通过fp可以找到某个存放某个文件的结构体变量,然后找到该文件,对文件实行操作。2、文件可以看成一组字符或二进制数据的集合,叫做数据流,结束标志为-1,符号为EOF,其定义包含在头文件中定义格式#include EOF (-1)由于FILE为结构体类型,因此FILE 类型的变量之间不能简单进行进行赋值运算。文件处理函数基本都以FILE类型的变量三、文件操作详解1、文件的打开操作 fopen 打开一个文件格式 FILE *fopen打开文件的作用是:(1)分配给打开文件一个FILE 类型的文件结构体变量,并将有关信息填入文件结构体变量;(2)开辟一个缓冲区;(3)调用操作系统提供的打开文件或建立新文件功能,打开或建立指定文件;2、文件的关闭操作 fclose 关闭一个文件int fclose(FILE *fp)3、文件的读写操作:@ fgetc 从文件中读取一个字符int fgetc(FILE *fp)返回值:正常返回: 返回读取字符的代码。非正常返回:返回EOF。例如,要从"写打开"文件中读取一个字符时,会发生错误而返回一个EOF。@fputc 写一个字符到文件中去int fputc(intch,FILE *fp返回值  正常返回: 要写入字符的代码。  非正常返回:返回EOF。例如,要往"读打开"文件中写一个字符时,会发生错误而返回一个EOF@fgets 从文件中读取一个字符串char *fgets(char *str,int n,FILE *fp)返回值正常返回:返回字符串的内存首地址,即str的值。非正常返回:返回一个NULL值,此时应当用feof()或ferror()函数来判别是读取到了文件尾,还是发生了错误。例如,要从"写打开"文件中读取字符串,将发生错误而返回一个NULL值。@ fputs 写一个字符串到文件中去int fputs(char*str,FILE *fp)返回值  正常返回: 写入文件的字符个数,即字符串的长度。  非正常返回:返回一个NULL值,此时应当用feof()或ferror()函数来判别是读取到了文件尾,还是发生了错误。例如,要往一个"读打开" 文件中写字符串时,会发生错误而返回一个NULL值。@fprintf 往文件中写格式化数据int fprintf(FILE *fp,char*format,arg_list)返回值  无。@ fscanf 格式化读取文件中数据fread 以二进制形式读取文件中的数据int fread(void*buffer,unsigned sife,unsigned count,FILE *fp)返回值  正常返回:实际读取数据块的个数,即count。  异常返回:如果文件中剩下的数据块个数少于参数中count指出的个数,或者发生了错误,返回0值。此时可以用feof()和ferror()来判定到底出现了什么情况。@ fwrite 以二进制形式写数据到文件中去int fwrite(void*buffer,unsigned sife,unsigned count,FILE *fp)返回值  正常返回:实际输出数据块的个数,即count。  异常返回:返回0值,表示输出结束或发生了错误。@getw 以二进制形式读取一个整数int getw(FILE *fp)返回值  正常返回:所读取整数的值。  异常返回:返回EOF,即-1。由于读取的整数值有可能是-1,所以必须用feof()或ferror()来判断是到了文件结束,还是出现了一个出错。@ putw 以二进制形式存贮一个整数int putw(intn,FILE *fp)返回值 正常返回:所输出的整数值。 异常返回:返回EOF,即-1。由于输出的整数值有可能是-1,所以必须用feof()或ferror()来判断是到了文件结束,还是出现了一个出错。4、文件状态检查函数@ feof 文件结束int feof(FILE *fp)返回值   0:假值,表示文件未结束。   1:真值,表示文件结束。@ ferror 文件读/写出错int ferror(FILE *fp)返回值   0:假值,表示无错误。   1:真值,表示出错。@ clearerr 清除文件错误标志intclearerr(FILE *fp)无返回值5、文件定位函数 @rewind 反绕void rewind(FILE *fp)无返回值@fseek 随机定位int fseek(FILE *fp,longoffset,intbase)返回值  正常返回:当前指针位置。  异常返回:-1,表示定位操作出错。


                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: