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

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

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

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

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

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

Как записать данные в начало файла не уничтожая его? - C++
Как записать данные в начало файла не уничтожая его? Вот пример могу ток записывать данные в конец файла ,а в начало нет хоть устанавливаю...

Запись в файл побитово потоком - C++
Как с помощью cout записывать побитово? Я думал, что это делается с помощью - ios :: binary . Но оказалось, что нет... Файл который был...

Как открыть второй файл тем же потоком? - C++
Создаю поток ifstream ifs и открываю файл A.txt, закрываю поток ifs.close(). Попытка открыть второй файл ifs.open("B.txt") заканчивается...

Можно потоком читать файл, если он может с любым переводом строки? - C++
На одной и той же машине перевод строки может быть виндузячим, никсоидным, или маковым. Можно читать его файловым текстовым потоком ввода?

Как создать свой поток и связать его с консолью - C++
Собственно возник такой вопрос: читаю Саттера пробую создать свой класс символов не чувствительный к регистру. Автор пишет, что для вывода...

Где должен находиться файл, чтоб программа его открыла, или как указывать его имя? - C++
Пытаюсь работать с файлами. Объясните, пожалуйста, где должен находиться файл, чтоб программа его открыла или как указывать его имя

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

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

Дан текстовый файл. Перепишите его в выходной файл, удалив все знаки препинания - C++
Не работает , выдает ошибку...Можно решение с комментариями!!?) #include <iostream> #include <fstream> using std::ifstream; ...

Дан файл. Надо отсортировать этот файл в порядке убывания длин его строк - C++
Помогите, плиз. Очень надо. Дан файл. Надо отсортировать этот файл в порядке убывания длин его строк. Язык С++. Вот что я написала. //...

Дан текстовый файл. Перепишите его в выходной файл, удалив все знаки препинания - C++
Дан текстовый файл. Перепишите его в выходной файл, удалив все знаки препинания

Дан исходный текстовый файл. Записать его строки в выходной файл в перевёрнутом виде - C++
грозят отчислением, нужно решить


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
15.11.2012, 14:24
Ответ Создать тему
Опции темы

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