如何附加到文本文件?

Mat*_*hew 2 c c++ file handles

我有一个用C++编写的程序,它接受用户的文本并使用文件句柄将其保存到文本文件中.以下是该计划的片段:

该程序工作正常.唯一的问题是它不会将文本附加到文本文件中.相反,它"删除"所有现有文本并仅保存新文本.

也就是说,丢弃在程序的先前会话中保存的文本,而是保存新文本.我该如何解决这个问题?

hmj*_*mjd 12

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";
}
Run Code Online (Sandbox Code Playgroud)