当我这样写的时候
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版本,两种方式都有效。我不知道问题是什么。
答案 0 :(得分:2)
您收到错误是因为您已指示fstream
打开文件进行阅读。如果文件不存在,则in | out
标志会给您一个错误。仅使用out
尝试它,它应该工作。如果您想对不存在的文件进行写入和读取,则需要额外的标记,可以追加(app
)或截断(trunc
)