我的 VC++ 代码可以正常工作(执行),现在突然间我不明白为什么会出现错误“调试断言失败”。
file:f\dd\vctools\crt_bld\self_x86\crt\src\fclose.c.
我在 WIn7 64 位操作系统上使用 VS2008。
一个运行良好的代码突然开始以这种方式中断而没有任何代码更改的原因可能是什么?
任何人都可以帮助我摆脱这个错误吗?
我在调用堆栈中看到之前的代码在文件中
C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\crt\src\crt0dat.c
while ( pfbegin < pfend )
{
/*
* if current table entry is non-NULL, call thru it.
*/
if ( *pfbegin != NULL )
(**pfbegin)();
++pfbegin;
}
是的,fclose()
正在接收一个空文件指针。我真的不明白为什么会突然出现错误的文件指针值,而我却没有对代码或环境进行任何更改。