【问题标题】:How can I append to a text file?如何附加到文本文件?
【发布时间】:2012-11-07 17:49:43
【问题描述】:

我有一个用 C++ 编写的程序,它接受来自用户的文本并使用文件句柄将其保存到文本文件中。以下是程序的sn-ps:

程序运行良好。唯一的问题是它不会将文本附加到文本文件中。相反,它会“删除”所有现有文本并仅保存新文本。

也就是说,在程序的前一个会话中保存的文本被丢弃,而新的文本被保存。请问这个问题怎么解决?

【问题讨论】:

  • 考虑到这段代码看起来更像c而不是c++。如果你想用严格的 C++ 开发,使用 fstreams 来工作

标签: c++ c file handles


【解决方案1】:

打开文件时包含O_APPEND 标志。请参阅_open() 的参考页面。

由于这是 C++,请考虑改用 ofstream。这些是类型安全的,无需指定写入文件的参数长度:

std::ofstream out(full_path, std::ios_base::app);
if (out.is_open())
{
    out << "----Session----\n\n"
        << "Date/Time: " << datetime << "\n\n"
        << "Text: " << text << "\n\n\n\n";
}

【讨论】:

  • 非常感谢您的即时答复 :)
猜你喜欢
  • 1970-01-01
  • 2021-12-13
  • 1970-01-01
  • 2016-03-25
  • 2011-01-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多