Страницы

Поиск по вопросам

четверг, 13 февраля 2020 г.

особый вид дополнение файла

#cpp #файлы


При работе с файлом я использую класс fstream. Допустим, в файле записано "hello,
world", и позиция файлового указателя на ',' . При записи в файл методом write строки
"0TTT0" файл будет иметь содержимое "hello0TTT0ld". Как сделать чтобы символы , которые
справа от указателя перемещались, то есть файл имел содержимое "hello0TTT0, world" ?
    


Ответы

Ответ 1



Никак. Файл аналогичен массиву байт, то, что вы пишете в него, затирает контент, который уже там находится. Как решить вашу задачу проще всего — это считать всё содержимое в память, зарезервировать больше места, скопировать «хвост» в добавленное место, и вставить новые данные. И записать назад в файл. Для этого лучше, вероятно, воспользоваться строкой/набором строк: в них есть уже готовая процедура вставки в середину (которая делает именно то, что описано выше).

Комментариев нет:

Отправить комментарий