关于C++文件操作时遇到_VALIDATE_CLEAR_OSSERR_RETURN断言的解决方法

在Debug一个C++程序的时候发现一个这样的断言中断:

_VALIDATE_CLEAR_OSSERR_RETURN((_osfile(fh) & FOPEN), EBADF, -1);

这个意思应该是说,在读写某个文件的时候,这个文件的句柄已经失效的,原因可能是这个文件没有打开或是文件被关闭了,这也是我程序里发现的问题。
一个比较好的编程习惯时,在fclose(fp)之后,应该要把相关的文件指针立即赋值为NULL,防止野指针的问题。

你可能感兴趣的:(关于C++文件操作时遇到_VALIDATE_CLEAR_OSSERR_RETURN断言的解决方法)