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

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

Войти
Регистрация
Восстановить пароль
 
АлександрКом
11 / 11 / 1
Регистрация: 21.10.2012
Сообщений: 340
#1

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

04.03.2014, 13:54. Просмотров 255. Ответов 4
Метки нет (Все метки)

Здравствуйте. Хочу создать бинарный файл, туда записать число. Затем его закрыть, заново открыть и прочитать из него записанное число в другую переменную. Все, вроде, работает, только в указанной папке (просто диск С) этого файла нет, он как будто не создается. Подскажите, в чем проблема?
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++
В текстовом файле «In.txt» сохраняются через пробел целые числа. Переписать в новый текстовый файл «Out.txt» каждое четное по номеру...

Работа со структурами и чтением из файла - C++
На основе сводной экзаменационной ведомости, включающей фамилии студентов и оценки по дисциплинам (математика, физика, программирование,...

Создание бинарного дерево из бинарного файла - C++
struct Bin { string name; string city; int players; int score; }; void ReadFromBin(Point*&amp; Tree) { ...

Создание бинарного дерева из бинарного файла - C++
struct Bin { string name; string city; int players; int score; }; void ReadFromBin(Point*&amp; Tree) { Bin q;

чтением из файла.... - C++
у меня есть два класса... один (базовый) читает строку из файла и присваивает её значение переменной этого типа второй (производный)...

Проблема с чтением файла - C++
При открытии файла функцией fopen и выводе на консоль отображается только первая строчка. Я так понял что надо открыть файл как бинарный....

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Ilot
Модератор
Эксперт С++
1810 / 1167 / 227
Регистрация: 16.05.2013
Сообщений: 3,075
Записей в блоге: 5
Завершенные тесты: 1
04.03.2014, 14:08 #2
На самом деле у вас все в порядке и в файл вы передаете 4 байта.
АлександрКом
11 / 11 / 1
Регистрация: 21.10.2012
Сообщений: 340
04.03.2014, 14:25  [ТС] #3
Ээм, а char же 1 байт? или нет? да й файла нет =)
Ilot
Модератор
Эксперт С++
1810 / 1167 / 227
Регистрация: 16.05.2013
Сообщений: 3,075
Записей в блоге: 5
Завершенные тесты: 1
04.03.2014, 14:52 #4
Вы преобразуете ссылку на переменную в указатель на char. Однако сама переменная знаимает 4 байта. Об этом вы говорите передавая размер объекта sizeof y, что интерпретируется как число байтов которые необходимо записать в файл.
А вот файл ищите. У меня он приспокойненько валяется на диске С как и запланировано.
АлександрКом
11 / 11 / 1
Регистрация: 21.10.2012
Сообщений: 340
04.03.2014, 15:11  [ТС] #5
Попробовал на диске создать папку и туда сохранить и всё получилось =) спасибо =)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.03.2014, 15:11
Привет! Вот еще темы с ответами:

Ошибка с чтением файла - C++
Привет, у меня тут проблема. Я сделал программу, которая открывает файл и выводит содержимое на экран, но если я вывожу содержимое второй...

Чтением файла с сервера - C++
Всем привет, столкнулся с ошибкой, но сам не знаю где... Суть программы такова: При запуске программы должен отправляться запрос на...

Ошибка с чтением файла - C++
Добрый вечер, ниже реализована программа по обработке файла данных &quot; Репертуар кинотеатров&quot; в котором указаны название кинотеатра и...

Проблема с чтением из файла! - C++
Проблема такая: у меня есть текстовый файл, в котором на каждой новой строке написано число. Я хочу каждое из этих чисел присвоить массиву...


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

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

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