我刚开始阅读有关如何打开和编辑文件的内容。 使用ifstream时,如果文件不存在,则不会创建。
在参考下面的代码时,条件(!outfile)何时为false,就好像文件不存在一样,它只是由构造函数创建,因此总是使条件为false。
int main()
{
ofstream outfile ("test1.txt");
if (!outfile)
{
cout << "cannot create file test1.txt" << endl;
return 1;
}
outfile << 10 << " " << 345.12 << endl;
outfile << "This is a short text file";
outfile.close();
system("PAUSE");
return 0;
}
答案 0 :(得分:1)
打开ofstream
失败的一种方法是,如果给定路径中的文件存在,但您没有写入该文件的权限。或者,如果文件不存在但您没有权限在给定路径中创建文件,则打开ofstream
也会失败。
另一种失败的情况可能是文件不存在,并且底层设备没有足够的可用空间/ inode来创建一个。