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

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

Войти
Регистрация
Восстановить пароль
 
HenryDukart
 Аватар для HenryDukart
122 / 122 / 35
Регистрация: 05.10.2013
Сообщений: 455
Завершенные тесты: 2
#1

Периключение режима файла - C++

26.11.2013, 21:34. Просмотров 189. Ответов 3
Метки нет (Все метки)

Есть бинарный файл. Я в него сначала записал информацию. Потом ее необходимо считать. Как правильно его закрыть\открыть и нужно ли где-нибудь устанавливать указатель на начало? Через потоки.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.11.2013, 21:34     Периключение режима файла
Посмотрите здесь:

Нет инициализации графического режима в BorlandC++ под ДОС C++
C++ [C/C++]Как определить,из какого режима запущена программа?
Перечислить возможности текстового режима C++
Основы оконного режима С++ C++
C++ Функция выбора режима
C++ Написать код, который будет переключать модем HUAWEI E171 из режима 3G на 2G
C++ При смене режима компилирования с дебага на релиз, программа бьёт файлы что делать?
Чтение данных из файла в таблицу графического режима C++
Вывести данные из бинарного файла в окно графическом режима C++
C++ Создание debug-режима в своей ide
Как сделать выход по нажатию клавиш - из графического и консольного режима? C++
C++ Получить на экране график функции способами текстового режима

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5411 / 4807 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
26.11.2013, 21:44     Периключение режима файла #2
Один поток для чтения/записи, или два отдельных потока?
HenryDukart
 Аватар для HenryDukart
122 / 122 / 35
Регистрация: 05.10.2013
Сообщений: 455
Завершенные тесты: 2
26.11.2013, 21:50  [ТС]     Периключение режима файла #3
alsav22, через один.
alsav22
5411 / 4807 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
26.11.2013, 22:20     Периключение режима файла #4
Если два отдельных потока:
C++
1
2
3
4
5
6
ofstream fout("file", ios::binary);
// запись в файл
fout.close();
ifstream fin("file", ios::binary);
// чтение из файла
fin.close();
Добавлено через 2 минуты
Цитата Сообщение от HenryDukart Посмотреть сообщение
через один.
Если через один, то файл уже должен существовать. При создании потока для чтения/записи, и подключения его к файлу, файл не создаётся (в отличие от создания потока для записи).

Добавлено через 5 минут
Так:
C++
1
2
3
4
5
6
fstream fio("file", ios::out | ios::binary);
// запись в файл
fio.close();
fio.open("file", ios::in | ios::binary);
// чтение из файла
fio.close();
Или так:
C++
1
2
3
4
5
6
fstream fio("file", ios::in | ios::out | ios::binary);
// запись в файл
fio.flush();
fio.seekg(0);
// чтение из файла
fio.close();
Добавлено через 15 минут
Немного соврал. Если так создавать один поток для чтения/записи, то файл будет создаваться:
C++
1
2
3
4
5
6
fstream fio("file", ios::out | ios::binary);
// запись в файл
fio.close();
fio.open("file", ios::in | ios::binary);
// чтение из файла
fio.close();
Но перейти от записи к чтению (как во втором варианте) без закрытия файла и открытия его для чтения не получится.
Во втором варианте файл создаваться не будет. Т.е., зависит не от потока, а от режима открытия файла.
Yandex
Объявления
26.11.2013, 22:20     Периключение режима файла
Ответ Создать тему
Опции темы

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