c - 如果文件在 Visual Studio 中打开,则“fopen”失败

标签 c visual-studio-2008 fopen

我有以下代码:

FILE *fp = fopen( srcFile.filename.c_str(), "rt");

srcFile恰好是解决方案的main.cpp文件,因此在解决方案中打开。 fopen 大部分时间都返回 NULL(但当我进入它时不返回,这很奇怪)。

但是,当我在 Visual Studio 中关闭 main.cpp 时,代码可以正常工作。即使文件是在 Notepad++ 中打开的。

有解决办法吗?

PS:我把它标记为C,但文件被编译为C++,如果它改变了什么,IDK。

最佳答案

我认为这可能与在 Visual Studio 中运行时工作目录(文件夹)不同有关。如果是这种情况,那么使用文件的绝对路径(“C:\folder\other-folder\file.txt”)而不是相对路径(“file.txt”)应该可以使它工作。

关于c - 如果文件在 Visual Studio 中打开,则“fopen”失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3910021/

相关文章:

visual-studio - 在Visual Studio 2008中以非管理员身份进行调试或生成

c - 位域中的整数表示

c - 逐行读取文本文件,在C中分成单词

c - 不使用完整路径的c语言中同一目录下的fopen文件

C - 无法在 OSX 中的当前目录上创建文件

c - C语言读取用户输入

C字符串问题

c - 为什么 sizeof(function_name) 是 1

c - 链接列表和 fscanf

c# - 不一致的辅助功能错误