无法使用fstream进行写入/读取

时间:2015-08-08 18:31:03

标签: c++ fstream

当我这样写的时候

std::fstream file ("data.dat", std::ios::in | std::ios::out);
if (!file)
{
    std::cerr << "Error";
    exit(1);
}

我收到“错误”。当我重写像这样的整个事情

std::fstream file;
file.open("data.dat", std::ios::out | std::ios::in);
if (!file)
{
    std::cerr << "Error";
    exit(1);
}

正在创建data.dat,我设法写和读。我在VS 2013上这样做,除了我尝试编译6.0版本,两种方式都有效。我不知道问题是什么。

1 个答案:

答案 0 :(得分:2)

您收到错误是因为您已指示fstream打开文件进行阅读。如果文件不存在,则in | out标志会给您一个错误。仅使用out尝试它,它应该工作。如果您想对不存在的文件进行写入和读取,则需要额外的标记,可以追加(app)或截断(trunc