Ofstream,什么时候它会失败而不是创建一个新文件



我刚刚开始阅读如何打开和编辑文件。当使用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也应该失败。

另一种失败情况可能是文件不存在,并且底层设备没有足够的空闲空间/索引节点来创建文件。

相关内容

最新更新