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

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

Войти
Регистрация
Восстановить пароль
 
gorus95
5 / 5 / 1
Регистрация: 22.12.2012
Сообщений: 151
Завершенные тесты: 1
#1

Ошибка при чтении/записи из бинарного файла - C++

16.04.2013, 19:04. Просмотров 771. Ответов 4
Метки нет (Все метки)

Сделал простую программу для работы с бинарными файлами, но когда запускаю ее вылетает ошибка. Сделать проще уже некуда, в чем проблема?
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <iostream>
#include <fstream>
using namespace std;
 
struct Data
{
    int i;
    float f;
};
 
int main (void)
{
    Data MyData;
    MyData.i = 10;
    MyData.f = 33.3333;
 
    FILE *dat = fopen("dat.bin", "wb");
    fwrite(&MyData, sizeof(Data), 1, dat);
    fclose(dat);
    dat = fopen("data.bin", "rb");
    fread(&MyData, sizeof(Data), 1, dat);
    fclose(dat);
    system("pause");
}

так же пробовал записать в цикле например 20 натуральных чисел, потом считать из файла с помощью while(!feof(file))... тоже вылетала ошибка
помогите разобраться пожалуйста
___________________________________
а вообще если можете подскажите как сделать программу которая считывает числа (упорядоченные) из двух бинарных файлов f и g, и сливает их в один упорядоченный файл ff (тоже бинарный).
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.04.2013, 19:04
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ошибка при чтении/записи из бинарного файла (C++):

Ошибка при чтении бинарного файла - C++
почему у меня выводит два раза последнюю запись при чтении??(а файл записываю класс с 3 полями(номер,фамилия,код) #include &quot;stdafx.h&quot;...

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

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

Почему при чтении бинарного файла происходит экстренное завершение программы? - C++
в Windows XP при чтение бинарного файла происходит екстренное завершение программы !!! /*Writing to a random access file */ #include...

Ошибки при записи и чтении из файла - C++
double calc(int n, double sum, int a, int b, double p, double f) { if(n == 0) return sum; else{ sum += p...

Выход при неудачном чтении/записи файла - C++
Как правильнее делать? void f() { if ((fl = fopen(&quot;name&quot;, &quot;mode&quot;)) == NULL) { cout &lt;&lt; &quot;Error! &lt;&lt; endl&quot;; exit(1); } ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
0x10
2464 / 1636 / 238
Регистрация: 24.11.2012
Сообщений: 4,031
16.04.2013, 19:12 #2
Сравните внимательно строки 17 и 20.
0
gorus95
5 / 5 / 1
Регистрация: 22.12.2012
Сообщений: 151
Завершенные тесты: 1
16.04.2013, 19:40  [ТС] #3
0x10, кажется все нормально..не вижу ошибки( подскажите
0
0x10
2464 / 1636 / 238
Регистрация: 24.11.2012
Сообщений: 4,031
17.04.2013, 04:45 #4
Ну ок, я надеялся воззвать к внимательности.
Пишете данные в файл dat.bin, а для чтения открываете data.bin, которого нет. Нет проверки на то, что файл был успешно открыт, следовательно, при попытке чтения программа падает.
0
gorus95
5 / 5 / 1
Регистрация: 22.12.2012
Сообщений: 151
Завершенные тесты: 1
17.04.2013, 17:48  [ТС] #5
0x10, спасибо, действительно не заметил)
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.04.2013, 17:48
Привет! Вот еще темы с ответами:

Задание имени файла пользователем при чтении и записи - C++
Программа должна осуществлять запись в файл или чтение из файла (по выбору пользователя) целых чисел. Пока я написала вот такой код: ...

Ошибка при записи или чтении в бинарный файл - C++
Есть такие вот типы данных: struct Nomer { int n, tsena1Deni; string klass; int kMest, kZaselenii; bool svoboden; Nomer...

Ошибка при чтении из файла - C++
Файл открывается, но читаться из него информация не хочется. Исходник int c_array :: save(char *path) { FILE *f; f =...

Ошибка при чтении файла - C++
Есть вот такой код: #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;iomanip&gt; #include &lt;conio.h&gt; #include &lt;string.h&gt; ...


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

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

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