2010-11-15 2 views
4

В C++ мне нужно записать в существующий файл и сохранить там прежний контент.C++: записать в существующий файл?

Это то, что я сделал:

std::ofstream logging; 

logging.open(FILENAME); 

logging << "HELLO\n"; 

logging.close(); 

, но тогда мой предыдущий текст переписывается (ушел). Что я сделал не так?

Заранее спасибо.

ответ

8
logging.open(FILENAME, std::ios_base::app); 
+1

logging.open (Filename, станд :: КСН :: добавить | станд :: ели); всегда будет дополнять и – Sudantha

1

По умолчанию «opening mode» для файла перезаписывается. Попробуйте открыть файл в режиме добавления

Второй параметр open - это битмаг перечисления. Два варианта вы должны проверить, является:

  • приложения - искать в конце файла перед каждым написать
  • ели - искать до конца файла после открытого

    logging.open (Filename, станд: : ИОС :: приложение | станд :: ели);

3

Вы должны открыть файл в режиме добавления:

logging.open(FILENAME, std::ios::app); 
0

вы попробовать? что-то вроде того, что

myFile.open("file.txt", ios::out | ios::app); 
Смежные вопросы