没有使用fopen()创建的文件;为什么,或者它们在哪里?

时间:2019-03-24 16:45:36

标签: c windows codeblocks fopen working-directory

我正在使用CodeBlocks(Windows)处理c中的CFD问题。当我尝试使用fopen()写入结果文件时,不会创建任何文件(如果存在,则无法找到它们)。该脚本被创建为具有多个头文件的项目,并且没有错误发生,并且脚本似乎运行顺利。

我已经尝试运行if (f==NULL),但是那里也没有发生错误。 我也尝试过以管理员身份运行CodeBlocks,但没有任何运气,还尝试了Project-> Properties-> Build target,并确保Execution工作目录与工作目录相同。我可以误解我的工作目录在哪里吗?

我试图在整个C:驱动器中搜索文件名,以防文件名存储在某个随机位置,但搜索结果是否定的。

使用的预处理器是stdio,stdlib和数学。

我必须编写几个文件,主要是.txt文件,但这是OpenGL图形的.vtf文件的示例。

FILE *f = fopen("GLresults.vtf", "w+");
if (f==NULL)
{
    printf("Error");
}

2 个答案:

答案 0 :(得分:0)

如果不检查您的<project directory>\bin\Debug\<project directory>\bin\Release\目录,您的代码是否输出错误。例如,如果名为CFD的项目位于C:\My Projects\中,并且选择了“构建目标”,则请选择“调试”(默认情况下已选中),请检查C:\My Projects\CFD\bin\Debug\C:\My Projects\CFD\bin\Release\目录。

答案 1 :(得分:0)

问题已解决!尝试了上面的一些建议,但结果发现它是for循环中的一个小型隐藏式错字。通过尝试读取现有文件发现错误,但该文件无效,因此我使用了return;printf("hello\n")来定位问题。

感谢您的帮助,并从调试中学到了很多东西。