Linux C编程--操作文件结束和错误的判断方法(函数)
2013-03-01 19:49
260 查看
多数函数(fgets()、gets()、putc()、ungetc()、fread()等)当调用不成功时都返回EOF,EOF的值为0,它既用于报告文件结束,也用于报告错误情形下的返回。因此,为了区分究竟是错误返回还是文件结束返回,就需要调用ferror()函数来确定是否存在错误,调用feof()函数检查是否遇到文件结束。
每一个流对象内部有两个指示器:一个为错误指示器,当读写文件出错时该指示器被设置;另一个为文件结束指示器,当遇到文件尾时该指示器被设置。函数ferror()和feof()分别检查这两个指示器。
#include <stdio.h>
int ferror (FILE *stream);
int feof (FILE *stream);
void clearerr(FILE *stream);
函数ferror()返回0当且仅当流stream的错误指示器被设置。
feof()返回0当且仅当流stream的文件结束条件指示器被设置。
函数clearerr()用于清除这两个指示器。
下面给出一个实例,这个例子说明了ferror,feof,clearerr的使用方法
每一个流对象内部有两个指示器:一个为错误指示器,当读写文件出错时该指示器被设置;另一个为文件结束指示器,当遇到文件尾时该指示器被设置。函数ferror()和feof()分别检查这两个指示器。
#include <stdio.h>
int ferror (FILE *stream);
int feof (FILE *stream);
void clearerr(FILE *stream);
函数ferror()返回0当且仅当流stream的错误指示器被设置。
feof()返回0当且仅当流stream的文件结束条件指示器被设置。
函数clearerr()用于清除这两个指示器。
下面给出一个实例,这个例子说明了ferror,feof,clearerr的使用方法
#include <stdio.h> int main(int argc, char *argv[]) { int i; FILE *fp; if(argc<=1) { printf("usage: %s file \n",argv[0]); return 1; } fp=fopen(argv[1],"w"); fgetc(fp); printf("%d \n",ferror(fp)); fputs("abcdefgh",fp); fclose(fp); fp=fopen(argv[1],"r"); fseek(fp,0,SEEK_END); fgetc(fp); if(feof(fp)) printf("file end\n"); clearerr(fp); printf("%d %d\n",ferror(fp),feof(fp)); fclose(fp); return 0; }
相关文章推荐
- Linux C编程--操作文件结束和错误的判断方法(函数)
- 判断文件结束的几种方法和eof()函数
- C#调用Exe文件的方法及如何判断程序调用的exe已结束
- 文件操作函数feof判断是否指向文件的结尾处,结尾即为空字符
- SQL Server安装过程中出现“以前的某个安装程序已在安装计算机上创建挂起的文件操作,运行程序前必须重启计算机”错误的解决方法
- “以前的某个程序安装已在安装计算机上创建挂起的文件操作。...”错误解决方法
- Python入门(六)——self,类,方法,__init__,类对象,类变量,文件操作,判断回文,pickle模块用法
- Activity中异步操作showDialog异常解决方法:判断Ay是否结束
- php文件操作常用函数或方法
- 练习20:函数和文件操作的基本方法
- 判断文件结束有两种方法:EOF和feof()
- C#的File类中常用的文件操作函数(方法)及其使用
- C# 文件操作函数 创建文件 判断存在
- Word2007“由于文件许可权错误,Word无法完成保存操作”问题的解决方法
- python中readline判断文件读取结束的方法
- Windows、Linux下文件操作(写、删除)错误的产生原因、及解决方法
- 让你提前认识软件开发(18):C语言中常用的文件操作函数总结及使用方法演示代码
- java 中判断exe文件执行结束方法
- 有关文件的操作 fopen/fwriite/fseek/ftell/fread/fclose等函数的使用方法
- [Linux流操作]使用feof和ferror函数判断当前返回的错误