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

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

Войти
Регистрация
Восстановить пароль
 
BEL9ILLI
4 / 4 / 0
Регистрация: 15.05.2009
Сообщений: 57
#1

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

12.01.2012, 23:47. Просмотров 1044. Ответов 6
Метки нет (Все метки)

Файл открывается, но читаться из него информация не хочется.
Исходник

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
25
26
27
28
29
30
31
int c_array :: save(char *path) {
 
    FILE *f;
 
    f = fopen (path, "w");
    //f = fopen (path, "wb");
 
    if (f) {
        
        // Запись размерности
        fprintf(f, "%d ", this->dimentions);
        //fwrite (&this->dimentions, sizeof(int), 1, f);
 
        // Запись массива длин по каждому измерению
        for(int i = 0; i < this->dimentions; i++)
            fprintf(f, "%d ", this->size[i]);
        //fwrite (this->size, sizeof(int), this->dimentions, f);
 
        // данные
        for(int i = 0; i < this->length; i++)
            fprintf(f, "%d ", this->data[i]);
        //fwrite (this->data, sizeof(int), this->length, f);
 
        fclose (f);
 
        return true;
 
    } else return false;
}
 
З.Ы. нужная функция находится в файле array.cpp
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.01.2012, 23:47
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ошибка при чтении из файла (C++):

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

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

Ошибка при чтении файла - C++
Необработанное исключение по адресу 0x0FE4172C (msvcp140d.dll) в .exe: 0xC0000005: нарушение прав доступа при записи по адресу 0xCDCDCDCD. ...

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

Ошибка при чтении из текстового файла - C++
Имеется следующий код: FILE* b = fopen(&quot;baza.txt&quot;, &quot;r&quot;); char line; while(! feof(b)) fgets(line, sizeof(line),...

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

6
Gepar
1177 / 533 / 20
Регистрация: 01.07.2009
Сообщений: 3,517
12.01.2012, 23:59 #2
Вы файл открываете только для записи.
0
BEL9ILLI
4 / 4 / 0
Регистрация: 15.05.2009
Сообщений: 57
13.01.2012, 00:09  [ТС] #3
Цитата Сообщение от Gepar Посмотреть сообщение
Вы файл открываете только для записи.
Упс, не ту функцию скопировал, вот нужная.
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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
// конструктор [десериализвация (чтение из файла)]
c_array :: c_array (char *path) {
 
    FILE *f;
    
    // Открытие файла
    f = fopen (path, "r");
    //f = fopen (path, "rb");
 
    // Чтение количества измерений
    fscanf_s(f, "%d ", this->dimentions);
    //fread (&this->dimentions, sizeof(int), 1, f);
 
    this->size = new int[dimentions];
    //this->size = (int*) malloc (sizeof(int) * dimentions);
 
    this->coords = new int[dimentions];
    //this->coords = (int*) malloc (sizeof(int) * dimentions);
 
    // Чтение массива длин по каждому измерению
    for(int i = 0; i < this->dimentions; i++)
        fscanf_s(f, "%d ", this->size[i]);
    //fread (this->size, sizeof(int), this->dimentions, f);
    
    // Расчет длины
    this->length = 1;
    for (int i = 0; i < this->dimentions; i++)
        this->length *= this->size[i] ;
 
    this->data = new int[this->length];
    //this->data = (int*) malloc (sizeof(int) * this->length);
 
    for(int i = 0; i < this->length; i++)
        fscanf_s(f, "%d ", this->data[i]);
    //fread (this->data, sizeof(int), this->length, f);
 
    fclose (f);
}
0
accept
4825 / 3246 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
13.01.2012, 08:26 #4
нужно проверять файл при открытии, открылся он или нет
fscanf_s - нестандартная функция
0
BEL9ILLI
4 / 4 / 0
Регистрация: 15.05.2009
Сообщений: 57
13.01.2012, 09:40  [ТС] #5
так файл открывается, данные заполняться не хотят
0
zss
Модератор
Эксперт С++
6536 / 6098 / 2008
Регистрация: 18.12.2011
Сообщений: 15,862
Завершенные тесты: 1
13.01.2012, 09:57 #6
При вводе надо передавать АДРЕСА переменных, а не значения, например
fscanf_s(f, "%d ", &this->dimentions);
0
accept
4825 / 3246 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
13.01.2012, 10:12 #7
Цитата Сообщение от BEL9ILLI Посмотреть сообщение
так файл открывается
откуда ты знаешь ?
0
13.01.2012, 10:12
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.01.2012, 10:12
Привет! Вот еще темы с ответами:

Не понятная ошибка при чтении из файла - C++
#include&lt;iostream&gt; #include&lt;iomanip&gt; #include&lt;string&gt; #include&lt;fstream&gt; using namespace std; class Person { protected: int...

Ошибка при побайтовом чтении файла - C++
Не могу понять: есть файл, в нем лежат байты: FF 55 11 22 33 44 когда я считываю байты таким образом: struct MyStruct { ...

Ошибка при чтении данных из файла - C++
Имеем такую функцию чтения даных из фаила: void chtenie(char *imafaila) { FILE *sklad= fopen(imafaila, &quot;r&quot;); if...

Ошибка при вызове метода класса, при чтении из файла - C++
добрый день, пытаюсь считать данные из и запихнуть их в список в файле у меня вот такие данные a01 b10 А и Б надо запихнуть в...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

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