Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Verbillion
9 / 9 / 0
Регистрация: 22.10.2013
Сообщений: 36
#1

Запись в середину файла - fstream - C++

30.03.2014, 11:35. Просмотров 899. Ответов 2
Метки нет (Все метки)

Как можно при помощи fstream (хотелось бы именно им, потому что он умеет и читать, и писать) записать что-либо в середину файла (или куда мне будет нужно) без замещения текста, что там был раньше. Т.е. нужно, чтобы не вместо старого текста записался новый, а чтобы новый текст появлялся в указанном мной месте, а старый смещался вперед.
Пробовал вот так, получается с замещением:
Код
fstream db;
db.seekp(0,ios_base::beg);
db.open("test.db", fstream::in | fstream::out);
db << "test" << endl;
Вроде бы модификатор fstream::ape должен помочь, но с ним тоже ничего не выходит:
Вот так старый текст всё равно пропадает
Код
db.open("test.db", fstream::in | fstream::out| fstream::ate);
А так вообще ничего не работает
Код
db.open("test.db", fstream::in |  fstream::ate);
Выручайте
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.03.2014, 11:35
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Запись в середину файла - fstream (C++):

fstream: открытие на запись - C++
fstream a(&quot;file.txt&quot;,ios::out); a&lt;&lt;&quot;abc\n&quot;; a.close(); Перезаписывает файл полностью даже без флага ios::trunc. fstream...

Запись в файл fstream - C++
Вот такой вот код , изобразил я для записи переменной в файл , проблема в том , что компилятор записывает в него не 10 раз L , а ...

Запись в файл fstream - C++
После первого прогона не выводит ничего из файла. void WriteInTheFile(fstream &amp;file_in) { file_in.seekg(0,file_in.end); char str;...

fstream не работает и чтение и запись - C++
Добрый день! Не пойму, почему введение функции getline становится причиной того, что запись в файл не идет. Если getline убрать, то все...

Запись/чтение структуры через fstream - C++
Доброго времени суток! у меня есть несколько вопросов по поводу файловых потоков. 1. Как можно записать/прочитать массив структур в...

Запись/чтение структур (файлы) + разница между FILE * и <fstream> - C++
Всем привет. Порыскал по форуму, погуглил... Решения есть, но они не ясны (что, почему да как) и не все работают. Однако, я так и не нашёл...

2
zss
Модератор
Эксперт С++
6516 / 6078 / 2001
Регистрация: 18.12.2011
Сообщений: 15,792
Завершенные тесты: 1
30.03.2014, 11:56 #2
1. Создайте другой файл.
2. Перепишите в него первую часть.
3. Потом - новый текст.
4. Потом остальную часть исходного файла.
5. Если надо старый файл удалите, а новый переименуйте.
0
igorrr37
1648 / 1276 / 133
Регистрация: 21.12.2010
Сообщений: 1,932
Записей в блоге: 7
30.03.2014, 22:01 #3
ate и app устанавливают курсор в конец файла. Для записи в середину надо перезаписывать файл ну или создавать новый
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.03.2014, 22:01
Привет! Вот еще темы с ответами:

Как Очистить середину файла? - C++
Допустим есть файл, размером в 100 байт, нужно байты 70 - 80 вырезать из файла, как такое сдделать? я так понимаю нужно смотреть в сторону...

Fstream - чтение из файла - C++
подскажите начинающему программисту как читать файл целиком.. например последовательность чисел

fstream, создание файла - C++
Привет всем, не могу справиться с проблемой. fstream file(FILE,ios::in|ios::out|ios::binary); файл не создается, но если создать...

Чтение всего файла fstream - C++
В общем мне казалась задача вполне очевидна и частая считать файл целиком в строку, но почему-то я не нашёл ничего готового (типа...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru