Ofstream перезаписывает содержимое файлов при выполнении более одного раза - PullRequest
0 голосов
/ 09 октября 2011

Предположим, я объявил файл ofstream myFile. Теперь я хочу создать этот файл только один раз, а когда я выполняю эту строку во второй раз, я не хочу перезаписывать файл и создавать новый?

Ответы [ 3 ]

1 голос
/ 09 октября 2011

Если у вас есть однофайловая настройка одной функции (например, журнала), вы можете рассмотреть возможность использования статической переменной.

Например:

static ofstream* mylogger::outfile = new  ofstream ("log.log");

Просто слишком круто от основной функции, вы должны нажать кнопку очистки

atexit (mylogger::closePointers);
1 голос
/ 09 октября 2011
ofstream myfile("filename",ios::app);

, но это продолжит добавление к файлу. В начале, если файла нет, создайте его.

0 голосов
/ 09 октября 2011
ofstream myFile;

Файл вообще не создается.Вы не передали имя файла конструктору.Если вы передадите его, он создаст файл, если файл уже не существует.Это также означает, что если вы не хотите перезаписывать файл во второй раз, вместо этого передайте другой аргумент.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...