怎么解决这个错误,使程序运行

img

近段时间用VC编程序,代码运行正确,但总是到最后的时候弹出如下错误提示:

Debug Assertion Failed!
Program:...
File:fclose.c

Expression: (stream!=NULL)

上网查了很多资料,尝试了一个星期,最后加断点,才定位到错误的位置。

如错误提示所说:是因为关闭文件指针(fclose(f))时,f==null。因此才出错。

因此你只需要在关闭该指针之前加上:if (f!=null) fclose(f);

因为也许你前面是在某些条件成立的条件下才打开了f指针,因此该f指针并不总是打开的。

以前写程序也经常遇到这个问题,比如fclose.c,fopen.c,fseek.c等等。但总是自己在不知道情况下稀里糊涂的该问题就消失了。也就没有认真去研究。因此以后若遇到这些问题,就可以找到有 fclose.c,fopen.c,fseek.c等等的行前后加断点,定位到错误的位置,就可以将问题解决了。

转载
https://blog.csdn.net/u011392772/article/details/52638770

要判断一下文件是否打开成功


fp = fopen("read.txt", "r");
if(fp == NULL)
{
    return;
}