C++ 从exe文件(visual studio)启动时调试断言失败

C++ 从exe文件(visual studio)启动时调试断言失败,c++,visual-studio,opengl,C++,Visual Studio,Opengl,我被难住了,尝试了从优化设置到另一个运行库的所有设置 仅当我从.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, leng

我被难住了,尝试了从优化设置到另一个运行库的所有设置

仅当我从
.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);

从错误判断。

错误主要是因为我的着色器文件读取程序没有检测到着色器文件夹。 只需将.exe文件重新定位到项目文件夹,即可修复此问题


非常感谢@drescherjm

可能文件未被读取(因为它位于错误的文件夹中),并且您没有错误处理,因此您尝试以任何方式进行查找。请记住,如果在VS中运行/调试应用程序,则默认文件夹是包含项目文件的文件夹。如果在windows的文件资源管理器中单击可执行文件,默认文件夹将移动到可执行文件的位置。什么是
数据
?什么是
文件
?您是否正确构建了
文件
,并使用它成功打开了文件?您的问题是添加显示这些详细信息的代码。实际上,它不是.stream.valid断言失败。我想我必须把我的EXE文件重新移到包含项目文件的文件夹中去工作。我认为你应该修复你的代码来处理不同的路径,同时还要增加一些错误处理,使你的代码变得健壮。我稍后会考虑它,只是我需要展示我的原型来进行进度检查。