我有一个程序,它使用ofstream写入输出。当使用Visual Studio编译并在Windows上运行时,一切都正常,但是当使用GCC编译并在Linux上运行时,它只会写入空文件。
ofstream out(path_out_cstr, ofstream::out);
if(out.bad()){
cout << "Could not write the file" << flush;
}
else{
cout << "writing";
out << "Content" << endl;
if(out.fail()) cout << "writing failed";
out.flush();
out.close();
}
被写入的目录具有0777权限。
奇怪的是:没有任何东西被写入,但也没有报错。
gcc --version为:(Gentoo 4.3.4 p1.0,pie-10.1.5)4.3.4
我知道代码应该可以工作,所以更多地是寻求建议,可能出了什么问题,而不是直接修复代码。
编辑:fwrite似乎以完全相同的方式失败(没有任何东西被写入,也没有报错)。
编辑:我在我的大学目录上通过SSH执行GCC和程序,如果有任何意义的话。我有足够的权限来执行和写入文件(ls . > out.txt非常正常),只有我的程序有问题。
感谢您的帮助。