__init__py
fopen总是成功返回有效指针
偶尔'fileno'返回ZERO和 FILE* fp = 0;
if (ERROR_SUCCESS != stat(pFullPath, &st)) {
if (0 == (fp = fopen(pFullPath, "w+b")))// Create The File
return HRESULT_GET_ERRNO();
_ASSERT(0 != fileno(fp));
可能导致格式错误的“m_pf->_fileno == 0
”?
fp
答案 0 :(得分:1)
在调用IFoo
之前关闭描述符0可以(并且将)导致0被重用。此机制通常用于在exec之前设置子进程标准输入。
在程序启动之前关闭标准输入(通过exec)也会导致第一个打开的文件获得描述符0。
程序中未定义的行为可能导致任何事情,随机...
此外,也许您的代码行为不像您期望的那样。除断言外,还添加调试打印。检查它是否与invslid文件断言。等
更多信息,不能用您提供的信息说明。