我有以下代码:
FILE *fp = fopen( srcFile.filename.c_str(), "rt");
srcFile碰巧是解决方案的main.cpp文件,因此在解决方案中打开。 fopen
大部分时间都返回NULL(但是当我进入它时不会,这很奇怪)。
但是,当我在Visual Studio中关闭main.cpp时,代码可以工作。即使在Notepad ++中打开文件。
有解决方法吗?
PS:我将其标记为C,但如果文件发生任何变化,该文件将编译为C ++,IDK。
答案 0 :(得分:1)
我认为这可能与在Visual Studio中运行时工作目录(文件夹)不同有关。如果是这种情况,那么使用文件的绝对路径(“C:\ folder \ other-folder \ file.txt”)而不是相对路径(“file.txt”)应该可以使它工作。
答案 1 :(得分:0)
让C打印错误消息:
FILE *fp = fopen( srcFile.filename.c_str(), "rt" );
if( !fp )
{
perror( srcFile.filename.c_str() );
exit( 1 );
}