Как получить указатель файла на следующую или любую конкретную строку в C ++? - PullRequest
0 голосов
/ 12 мая 2018

Здесь проблема в том, что курсор возвращается в верхний левый угол. И когда я пишу снова, он перезаписывает первую строку вместо перехода на следующую. После каждой записи указатель файла должен перемещаться на следующую строку. Я использую функцию setw(), чтобы установить ширину для каждого столбца в записи.

1 Ответ

0 голосов
/ 12 мая 2018

Всякий раз, когда вы открываете выходной поток в C ++ и не передаете ему какие-либо флаги openmode, файл открывается для записи.После открытия потока указатель файла указывает на начало файла.То есть существующее содержимое этого файла перезаписывается.Если вы не хотите этого делать, вы должны указать, что любые записи должны добавлять данные в файл, а не перезаписывать их.Это можно сделать следующим образом:

std::ofstream stream("my_file.txt", std::ios_base::app);

Таким образом, операции записи добавляют данные в файл вместо перезаписи существующих данных.

...