Форум программистов, компьютерный форум CyberForum.ru

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

Восстановить пароль Регистрация
 
Verbillion
9 / 9 / 0
Регистрация: 22.10.2013
Сообщений: 36
30.03.2014, 11:35     Запись в середину файла - fstream #1
Как можно при помощи 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);
Выручайте
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.03.2014, 11:35     Запись в середину файла - fstream
Посмотрите здесь:

запись/чтение структуры через fstream C++
C++ fstream, создание файла
fstream: открытие на запись C++
C++ Запись в файл fstream
C++ fstream не работает и чтение и запись
Запись/чтение структур (файлы) + разница между FILE * и <fstream> C++
Как Очистить середину файла? C++
C++ Запись в файл fstream

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
 Аватар для zss
5956 / 5561 / 1788
Регистрация: 18.12.2011
Сообщений: 14,211
Завершенные тесты: 1
30.03.2014, 11:56     Запись в середину файла - fstream #2
1. Создайте другой файл.
2. Перепишите в него первую часть.
3. Потом - новый текст.
4. Потом остальную часть исходного файла.
5. Если надо старый файл удалите, а новый переименуйте.
igorrr37
 Аватар для igorrr37
1594 / 1222 / 118
Регистрация: 21.12.2010
Сообщений: 1,868
Записей в блоге: 7
30.03.2014, 22:01     Запись в середину файла - fstream #3
ate и app устанавливают курсор в конец файла. Для записи в середину надо перезаписывать файл ну или создавать новый
Yandex
Объявления
30.03.2014, 22:01     Запись в середину файла - fstream
Ответ Создать тему
Опции темы

Текущее время: 16:40. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru