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

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

Войти
Регистрация
Восстановить пароль
 
lordimid
3 / 3 / 0
Регистрация: 02.10.2011
Сообщений: 94
#1

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

15.11.2012, 10:08. Просмотров 393. Ответов 5
Метки нет (Все метки)

Подскажите пожалуйста: как связать файл с потоком не уничтожая его.
Делаю так:
C++
1
2
ofstream nm;
nm.open("myfile.txt");
Пробовал вот так -
C++
1
nm.open("myfile.txt",ios::app);
но тогда невозможно записать строку в начало файла.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.11.2012, 10:08     Связать файл с потоком, не уничтожая его
Посмотрите здесь:

работа с файловым потоком!!! C++
C++ задача с файловым потоком
Как открыть второй файл тем же потоком? C++
C++ работа с потоком
C++ Как записать данные в начало файла не уничтожая его?
C++ Дан символьный файл f. Добавить в его конец символы e,n,d (если это необходимо, использовать дополнительный файл g ).
Потоком из файла в структуру C++
C++ Переворот рисунка потоком
Можно потоком читать файл, если он может с любым переводом строки? C++
Как создать свой поток и связать его с консолью C++
C++ Запись в файл побитово потоком
Где должен находиться файл, чтоб программа его открыла, или как указывать его имя? C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Toshkarik
1139 / 856 / 51
Регистрация: 03.08.2011
Сообщений: 2,384
Завершенные тесты: 1
15.11.2012, 10:17     Связать файл с потоком, не уничтожая его #2
Цитата Сообщение от lordimid Посмотреть сообщение
но тогда невозможно записать строку в начало файла.
Вы и не сможете этого сделать. Либо сохраняйте все в память, добавляйте в начало то, что нужно, и обратно записывайте в файл, либо используйте временный файл.
lordimid
3 / 3 / 0
Регистрация: 02.10.2011
Сообщений: 94
15.11.2012, 13:01  [ТС]     Связать файл с потоком, не уничтожая его #3
Цитата Сообщение от Toshkarik Посмотреть сообщение
Либо сохраняйте все в память
Можно подробнее - как это сделать?

Добавлено через 1 минуту
Цитата Сообщение от Toshkarik Посмотреть сообщение
Вы и не сможете этого сделать
Честно говоря не понимаю почему. А для чего тогда seekp()?
Toshkarik
1139 / 856 / 51
Регистрация: 03.08.2011
Сообщений: 2,384
Завершенные тесты: 1
15.11.2012, 13:11     Связать файл с потоком, не уничтожая его #4
Цитата Сообщение от lordimid Посмотреть сообщение
А для чего тогда seekp()?
Для установки указателя вывода на необходимую позицию. При этом если он будет установлен на начало файла, и Вы что то запишите в него, то будут перезаписаны данные расположенные в том месте.
Цитата Сообщение от lordimid Посмотреть сообщение
Можно подробнее - как это сделать?
В смысле как? Полностью читаете весь файла в память, делаете необходимые Вам изменения, и записываете уже измененные данные обратно в файл.
lordimid
3 / 3 / 0
Регистрация: 02.10.2011
Сообщений: 94
15.11.2012, 14:20  [ТС]     Связать файл с потоком, не уничтожая его #5
Цитата Сообщение от Toshkarik Посмотреть сообщение
Полностью читаете весь файла в память
А как я его прочитаю, если при открытии он у меня удаляется? Ведь для того чтобы его прочитать, надо сначала открыть.
Toshkarik
1139 / 856 / 51
Регистрация: 03.08.2011
Сообщений: 2,384
Завершенные тесты: 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     Связать файл с потоком, не уничтожая его
Ответ Создать тему
Опции темы

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