如何附加到文本文件?
我有一个用C ++编写的程序,它接受来自用户的文本并使用文件句柄将其保存到文本文件中。 以下是该计划的片段:
该程序工作正常。 唯一的问题是它不会将文本追加到文本文件中。 相反,它“删除”所有现有文本并仅保存新文本。
也就是说,丢弃在程序的先前会话中保存的文本,而是保存新文本。 我该怎么解决这个问题呢?
打开文件时包含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"; }