【问题标题】:No file created using fstream [duplicate]没有使用 fstream 创建文件 [重复]
【发布时间】:2013-03-27 02:22:57
【问题描述】:

下面是我的程序:

#include <fstream>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
    fstream hd;
    hd.open("fstream.dat", fstream::in | fstream::out);

    hd.put('a');
    hd.close();
    return 0;
}

但是,执行此程序后不会创建任何文件。它有什么问题?

【问题讨论】:

  • 使用std::ofstream 对象。 std::fstream 不会自动创建文件。
  • 但是如果我需要一个兼具读写能力的处理程序呢? @CharlesSalvia

标签: c++ fstream


【解决方案1】:

您需要添加一个fstream::appfstream::trunc 标志位来指定如果文件已经存在(分别是追加或破坏)要做什么。

这也影响文件是否创建,这有点特殊,但 C++ 从 C/POSIX fopen 函数继承了这一点。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-03-18
    • 1970-01-01
    • 1970-01-01
    • 2011-07-31
    • 1970-01-01
    • 2012-02-08
    • 1970-01-01
    • 2011-06-15
    相关资源
    最近更新 更多