Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Opengl Freeglut在W8.1和VS2012中扫描后崩溃_Opengl_Visual Studio 2012_Freeglut - Fatal编程技术网

Opengl Freeglut在W8.1和VS2012中扫描后崩溃

Opengl Freeglut在W8.1和VS2012中扫描后崩溃,opengl,visual-studio-2012,freeglut,Opengl,Visual Studio 2012,Freeglut,我正在使用freeglut(2.8.1)、GLEW 1.10.0、Visual Studio 2012和Windows 8.1完成一个C语言大学项目。它几乎完成了,但由于某种原因,我无法从控制台中读取已绘制的内容 例如,我画了一些东西,然后要求用户读取一个文件,并绘制新数据: printf("File to read: "); gets(fname); //with scanf the result is the same printf("%s", fname);

我正在使用freeglut(2.8.1)、GLEW 1.10.0、Visual Studio 2012和Windows 8.1完成一个C语言大学项目。它几乎完成了,但由于某种原因,我无法从控制台中读取已绘制的内容

例如,我画了一些东西,然后要求用户读取一个文件,并绘制新数据:

printf("File to read: ");
gets(fname);                 //with scanf the result is the same
printf("%s", fname);         //just for testing
这会将正确的文件名打印到命令行,并正确读取文件。但是,由于某种原因,在显示新数据之前,整个程序会崩溃,并出现以下错误:

Unhandled exception at 0x73D3FB6D (freeglut.dll) in CV_TP1.exe: 0xC0000005: Access violation writing location 0x000000D4.

如果我删除gets/scanf并硬编码文件名,程序将正常工作。同样,如果我尝试在所有openGL初始化之前读取一些内容,就在主函数的顶部。

根据这一点,您没有访问该文件的权限,请尝试以管理员身份运行该程序。这无法解决问题。我试着以管理员的身份运行VS和.exe,得到了相同的错误。嗯,所以它能正确读取文件吗?我们需要查看一些代码来尝试猜测问题所在。让我们看看你是怎么读文件的。是的,这就是我发现这个很奇怪的地方。读取文件非常有效,我测试了硬编码文件名。问题是从命令行读取,即使我不使用结果。我经常犯的一个错误是声明char*fname,而不是char fname[1024]。太明显了,实际上很难发现!你确定你没有这样做?