Как я могу добавить в текстовый файл?

У меня есть программа, написанная на C ++, которая принимает текст от пользователя и сохраняет его в текстовый файл с помощью файловых дескрипторов. Вот фрагменты программы:

Программа работает отлично. Единственная проблема в том, что он не добавляет текст в текстовый файл. Скорее, он «удаляет» весь существующий текст и сохраняет только новый текст.

То есть текст, сохраненный в предыдущем сеансе программы, отбрасывается, а новый текст сохраняется. Как я могу решить эту проблему, пожалуйста?

2

Решение

Включить 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";
}
12

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]