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

Связать файл с потоком, не уничтожая его - C++

Восстановить пароль Регистрация
 
lordimid
 Аватар для lordimid
3 / 3 / 0
Регистрация: 02.10.2011
Сообщений: 93
15.11.2012, 10:08     Связать файл с потоком, не уничтожая его #1
Подскажите пожалуйста: как связать файл с потоком не уничтожая его.
Делаю так:
C++
1
2
ofstream nm;
nm.open("myfile.txt");
Пробовал вот так -
C++
1
nm.open("myfile.txt",ios::app);
но тогда невозможно записать строку в начало файла.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Toshkarik
 Аватар для Toshkarik
1139 / 856 / 50
Регистрация: 03.08.2011
Сообщений: 2,381
Завершенные тесты: 1
15.11.2012, 10:17     Связать файл с потоком, не уничтожая его #2
Цитата Сообщение от lordimid Посмотреть сообщение
но тогда невозможно записать строку в начало файла.
Вы и не сможете этого сделать. Либо сохраняйте все в память, добавляйте в начало то, что нужно, и обратно записывайте в файл, либо используйте временный файл.
lordimid
 Аватар для lordimid
3 / 3 / 0
Регистрация: 02.10.2011
Сообщений: 93
15.11.2012, 13:01  [ТС]     Связать файл с потоком, не уничтожая его #3
Цитата Сообщение от Toshkarik Посмотреть сообщение
Либо сохраняйте все в память
Можно подробнее - как это сделать?

Добавлено через 1 минуту
Цитата Сообщение от Toshkarik Посмотреть сообщение
Вы и не сможете этого сделать
Честно говоря не понимаю почему. А для чего тогда seekp()?
Toshkarik
 Аватар для Toshkarik
1139 / 856 / 50
Регистрация: 03.08.2011
Сообщений: 2,381
Завершенные тесты: 1
15.11.2012, 13:11     Связать файл с потоком, не уничтожая его #4
Цитата Сообщение от lordimid Посмотреть сообщение
А для чего тогда seekp()?
Для установки указателя вывода на необходимую позицию. При этом если он будет установлен на начало файла, и Вы что то запишите в него, то будут перезаписаны данные расположенные в том месте.
Цитата Сообщение от lordimid Посмотреть сообщение
Можно подробнее - как это сделать?
В смысле как? Полностью читаете весь файла в память, делаете необходимые Вам изменения, и записываете уже измененные данные обратно в файл.
lordimid
 Аватар для lordimid
3 / 3 / 0
Регистрация: 02.10.2011
Сообщений: 93
15.11.2012, 14:20  [ТС]     Связать файл с потоком, не уничтожая его #5
Цитата Сообщение от Toshkarik Посмотреть сообщение
Полностью читаете весь файла в память
А как я его прочитаю, если при открытии он у меня удаляется? Ведь для того чтобы его прочитать, надо сначала открыть.
Toshkarik
 Аватар для Toshkarik
1139 / 856 / 50
Регистрация: 03.08.2011
Сообщений: 2,381
Завершенные тесты: 1
15.11.2012, 14:24     Связать файл с потоком, не уничтожая его #6
Цитата Сообщение от lordimid Посмотреть сообщение
nm.open("myfile.txt",ios::app);
Вы же писали.

C++
1
std::ifstream nm( "my.txt", std::ios::in | std::ios::app );
Yandex
Объявления
15.11.2012, 14:24     Связать файл с потоком, не уничтожая его
Ответ Создать тему
Опции темы

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