Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一个用 C++ 编写的程序,它接受来自用户的文本并使用文件句柄将其保存到文本文件中。以下是该程序的片段:
该程序运行良好。唯一的问题是它不会将文本附加到文本文件中。相反,它会“删除”所有现有文本并仅保存新文本。
也就是说,在程序的先前会话中保存的文本被丢弃,而新的文本被保存。请问我该如何解决这个问题?
打开文件时包含O_APPEND标志。请参阅参考页_open()。
O_APPEND
_open()
由于这是 C++,请考虑使用 anofstream代替。这些是类型安全的,并且不需要指定写入文件的参数长度:
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"; }