#c #file-io
#c #файл-ввод-вывод
Вопрос:
Хорошо, итак, теперь я могу читать из файлов .txt как переменные, но как мне записать измененные целые числа обратно в мой текстовый файл? Пример:
xps.open ("xp.txt"); //Text file is loaded and applied to ifstream 'xps'
int xp;
xps >> xp; //xps is applied to integer xp
xp = 50; //xp has 50 added to it's value
и затем я хочу, чтобы значение xp было записано (перезаписывая предыдущее число) в xp.txt итак, как бы мне это сделать?
Ответ №1:
Неэффективно записывать и перезаписывать одно и то же значение. Просто подождите, пока не узнаете, какое значение вы хотите записать в файл, и запишите его.
Я полагаю, вы имеете в виду ofstream
, а не ifstream
поскольку в этом вопросе вы записываете в файл. Если вам абсолютно необходимо вернуться к файлу, тогда вам нужно вызвать seekp()
. Для того, чтобы сделать это, вам нужно запомнить точку в файле, для начала записи в которую вы можете попасть, вызвав tellp()
. Итак, если хотите мой совет, постарайтесь не переписывать значение.
Ответ №2:
Вам нужно открыть текстовый файл как для чтения, так и для записи; объявите xps как fstream, а затем вы можете просто выполнить
xps << xp