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

Работа с чтением/записью бинарного файла - C++

Восстановить пароль Регистрация
 
АлександрКом
11 / 11 / 1
Регистрация: 21.10.2012
Сообщений: 327
04.03.2014, 13:54     Работа с чтением/записью бинарного файла #1
Здравствуйте. Хочу создать бинарный файл, туда записать число. Затем его закрыть, заново открыть и прочитать из него записанное число в другую переменную. Все, вроде, работает, только в указанной папке (просто диск С) этого файла нет, он как будто не создается. Подскажите, в чем проблема?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream> //Для работы с клавиатурой
#include <fstream> //Для работы с файлами
using namespace std;
 
int main() {
    int y = 0; //Y будем записывать в файл
    int x = 0; //X будем считывать из файла
 
    cout << "Y = ";
    cin >> y; //Вводим число, которое нужно сохранить в файл
    ofstream out("C:/1.bin", ios::binary | ios::out); //Открываем файл в двоичном режиме для записи
    out.write((char*) &y, sizeof y); //Записываем в файл число y
    out.close(); //Закрываем файл
 
    cout << "x = " << x << endl; //Показываем X до его изменений
 
    ifstream in("C://1.bin", ios::binary | ios::in); //Открываем файл в двоичном режиме только для чтения
    in.read((char*) &x, sizeof x); //Читаем оттуда информацию и запоминаем её в X
    in.close(); //Закрываем файл
 
    cout << "x = " << x << endl; //Показываем X после изменения
}
И ещё один вопрос, если я хочу допустим прочитать число, но оно не 1 байт, а, допустим, 4, тогда как поступать?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.03.2014, 13:54     Работа с чтением/записью бинарного файла
Посмотрите здесь:

C++ Проблема с чтением файла
Проблема с чтением из файла C++
C++ чтением из файла....
Проблема с чтением из файла! C++
C++ Проблемы с чтением файла на c++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ilot
Модератор
Эксперт С++
1767 / 1142 / 223
Регистрация: 16.05.2013
Сообщений: 3,020
Записей в блоге: 5
Завершенные тесты: 1
04.03.2014, 14:08     Работа с чтением/записью бинарного файла #2
На самом деле у вас все в порядке и в файл вы передаете 4 байта.
АлександрКом
11 / 11 / 1
Регистрация: 21.10.2012
Сообщений: 327
04.03.2014, 14:25  [ТС]     Работа с чтением/записью бинарного файла #3
Ээм, а char же 1 байт? или нет? да й файла нет =)
Ilot
Модератор
Эксперт С++
1767 / 1142 / 223
Регистрация: 16.05.2013
Сообщений: 3,020
Записей в блоге: 5
Завершенные тесты: 1
04.03.2014, 14:52     Работа с чтением/записью бинарного файла #4
Вы преобразуете ссылку на переменную в указатель на char. Однако сама переменная знаимает 4 байта. Об этом вы говорите передавая размер объекта sizeof y, что интерпретируется как число байтов которые необходимо записать в файл.
А вот файл ищите. У меня он приспокойненько валяется на диске С как и запланировано.
АлександрКом
11 / 11 / 1
Регистрация: 21.10.2012
Сообщений: 327
04.03.2014, 15:11  [ТС]     Работа с чтением/записью бинарного файла #5
Попробовал на диске создать папку и туда сохранить и всё получилось =) спасибо =)
Yandex
Объявления
04.03.2014, 15:11     Работа с чтением/записью бинарного файла
Ответ Создать тему
Опции темы

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