【发布时间】:2012-02-12 18:47:59
【问题描述】:
我正在使用 fstream 打开一个文件进行写入。我不想覆盖现有文件,所以经过一番搜索,我找到了 ios::noreplace。但是当我编译这个时:
#include <fstream>
using namespace std;
//......Did something else.
ofstream fout;
fout.open(outputFile,ios::noreplace);//outputFile is a C string
我收到一个错误
error: ‘noreplace’ is not a member of ‘std::ios’
我只是想知道是否有任何 std:: 替代 ios::noreplace?
【问题讨论】:
-
当文件确实存在时你想做什么?追加模式有什么问题?
-
我的程序是处理一些代码,所以在其他代码之后附加代码是不可接受的。事实上,我试图做的是避免用户意外损坏他们现有的文件。
-
那么,你想做什么?当文件已经存在时以只读模式打开,但不存在时以可写模式打开?要不然是啥?你从来没有解释过。什么“代码”?
-
文件存在时中止。当文件不存在时写入。
-
为什么这个细节不在您的问题中?这是基本的。