【发布时间】:2019-03-22 17:09:01
【问题描述】:
我被难住了,尝试了从优化设置到设置不同运行时库的所有方法。
只有当我从 .exe 运行我的项目时,我才会收到此错误。
也许有人遇到了同样的问题并且知道如何解决。
MDd模式输出:
Debug Assertion Failed!
Program \x64\Debug\FRTI.exe
File:minkernel\crts\ucrt\src\appcrt\stdio\fseek.cpp
Line: 180
Expression: stream.valid
以及这个错误的可能嫌疑人。
memset(data, 0, length + 1);
fseek(file, 0, SEEK_SET);
fread(data, 1, length, file);
fclose(file);
根据错误判断。
【问题讨论】:
-
也许该文件没有被读取(因为它在错误的文件夹中)并且您没有错误处理,所以您无论如何都尝试寻找。请记住,如果您在 VS 中运行/调试应用程序,则默认文件夹是包含项目文件的文件夹。如果您在 windows 的文件资源管理器中单击可执行文件,默认文件夹将移动到可执行文件的位置。
-
什么是
data?file是什么?您是否正确构造了file并使用它成功打开了文件? Edit 你的问题是添加显示这些细节的代码。因为它不是minimal reproducible example。 -
stream.valid 断言失败。想想自己
-
谢谢@drescherjm 我发现我必须将我的 exe 文件重新定位到包含项目文件的文件夹才能工作。
标签: c++ visual-studio opengl