天天看点

C语言:对文件的输入输出及检查函数总结

学习笔记

1:fopen(文件名,使用文件方式) : r 只读; w 只写;a 追加(加b为二进制)

2:fclose(文件指针);

3:fgetc(fp) 从fp指向的文件读入一个字符,读成功,带回所读的字符,失败则返回文件结束标志EOF(即-1)

4:fputc(ch,fp) 把字符ch写到文件指针变量fp所指向的文件中 输出成功,返回值就是输出的字符;输出失败,则返回EOF(即-1)

5:fgets(str,n,fp) 从fp指向的文件读入一个长度为(n-1)的字符串,存放到字符数组str中 读成功,返回地址str,失败则返回NULL

6:fputs(str,fp) 把str所指向的字符串写到文件指针变量fp所指向的文件中 输出成功,返回0;否则返回非0值

7:fprintf(文件指针, 格式字符串, 输出表列),输入; fscanf(文件指针, 格式字符串, 输出表列),输出。//加上f对象就成为文件。

8:fread(buffer, size, count, fp) 从文件中对一个数据块

9:fwrite(buffer, size, count, fp) 向文件中写一个数据块

10:rewind(文件指针) 指向开头。

11:fseek(文件类型指针, 位移量, 起始点);

fseek (fp,100L,0); //将文件位置标记向前移到离文件开头100个字节处

fseek (fp,50L,1); //将文件位置标记向前移到离当前位置50个字节处

fseek (fp,-10L,2); //将文件位置标记从文件末尾处向后退10个字节

12:用ftell函数测定文件位置标记的当前位置,ftell函数的作用是得到流式文件中文件位置标记的当前位置,用相对于文件开头的位移量来表示。如果调用函数时出错(如不存在fp指向的文件),ftell函数返回值为-1L。

13:文件读写的出错检测:

1.ferror函数

在调用各种输入输出函数(如putc,getc,fread,fwrite等)时,如果出现错误,除了函数返回值有所反映外,还可以用ferror函数检查。如果ferror返回值为0(假),表示未出错;如果返回一个非零值,表示出错。

2.clearerr(fp)函数 clearerr的作用是使文件出错标志和文件结束标志置为0。 假设在调用一个输入输出函数时出现错误,ferror函数值为一个非零值。应该立即调用clearerr(fp),使ferror(fp)的值变成0,以便再进行下一次的检测。只要出现文件读写出错标志,它就一直保留,直到对同一文件调用clearerr函数或rewind函数,或任何其他一个输入输出函数。