读书人

*关于文件指针FILE*重用的有关问题*

发布时间: 2012-03-19 22:03:05 作者: rapoo

**关于文件指针FILE*重用的问题**
我定义一个文件指针 FILE *stream;
用她来打开并读取一个文件后将该文件关闭(fclose(stream)),后又用该文件指针来打开并读取另一个文件,结果读出的内容总对劲,新定义了另一个FILE*就没事了,C++里对文件I/O流对象重用也存在这个问题,它的主要原因是,该流对象的一些标志仍然滞留在该对象中,通过clear函数将所有标志清理就没事了(就可以重用了),而C语言中怎么解决这个办法呢?

[解决办法]
fflush(stream);
[解决办法]
函数名称: clearerr
函数原型: void clearerr(FILE * fp);
函数功能: 清除文件指针错误指示器,将文件出错标志清零
函数返回:
参数说明: fp-文件的流指针
所属文件: <stdio.h>

和C++中的I/O clear 方法类型,
使用 clearerr 函数清除 FILE 指针的错误标志即可。
[解决办法]
fclose(fp)
fp=NULL;

读书人网 >C语言

热点推荐