我刚刚开始阅读如何打开和编辑文件。当使用ifstream时,如果文件不存在,它将不会被创建。
引用下面的代码,什么时候条件(!outfile)为假,就好像文件不存在一样,它将由构造函数简单地创建,因此总是使条件为假。
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;
}
打开ofstream
可能失败的一种情况是,给定路径中的文件存在,但您没有权限对其进行写操作。或者,如果该文件不存在,但是您没有在给定路径中创建文件的权限,那么打开ofstream
也应该失败。
另一种失败情况可能是文件不存在,并且底层设备没有足够的空闲空间/索引节点来创建文件。