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

Функция fread и матрицы - C++

Восстановить пароль Регистрация
 
PG94
2 / 2 / 0
Регистрация: 15.01.2012
Сообщений: 181
15.06.2012, 16:17     Функция fread и матрицы #1
Подскажите, как правильно исп. эту ф-ию для считывания информации из файла в матрицу.
Есть маленькая программка, которая никак не хочет работать верно. В чём ошибка, не пойму.
Вот код:
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include<iostream>
using namespace std;
int main()
{   FILE *fb;
    int a[5][5];
    int i,j,n;
    if((fb=fopen("file.dat","rb"))==NULL)
    {   printf("error1\n");
        exit(1);
    }
    n=fread(a,sizeof(int),25,fb);
    printf("%d\n",n);
    if(n!=25)
        printf("error2\n");
    else
    for(i=0;i<5;i++)
        {   for(j=0;j<5;j++)
                printf("%-8d",a[i][j]);
            printf("\n");       
        }
    return 0;
}
Буду благодарен за помощь.
P. S.
В данный файл записано ровно 25 чисел, при выполнении программы ф-ия возвращает 13.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.06.2012, 16:17     Функция fread и матрицы
Посмотрите здесь:

C++ fread
C++ Непонятки с fread
C++ fseek / fread
C++ fread с непонятной ошибкой
C++ Особенности работы fread
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Catstail
Модератор
 Аватар для Catstail
21500 / 10253 / 1669
Регистрация: 12.02.2012
Сообщений: 17,139
15.06.2012, 17:29     Функция fread и матрицы #2
1) какова длина файла *.dat?
2) по-моему, fread возвращает число прочитанных байтов. т.е. сравнивать надо не с 25, а с 25*sizeof(int)
PG94
2 / 2 / 0
Регистрация: 15.01.2012
Сообщений: 181
15.06.2012, 20:21  [ТС]     Функция fread и матрицы #3
1)Поясни, что ты понимаешь под длиной ?
2)Возвращает, как я помню, всё-таки кол-во. Но дело в другом: в матрицу не заносятся числовые значения из файла.
grizlik78
Эксперт С++
 Аватар для grizlik78
1882 / 1414 / 101
Регистрация: 29.05.2011
Сообщений: 2,960
16.06.2012, 01:46     Функция fread и матрицы #4
Цитата Сообщение от PG94 Посмотреть сообщение
1)Поясни, что ты понимаешь под длиной ?
Размер файла в байтах. Очень похоже, что файл у тебя текстовый.
Yandex
Объявления
16.06.2012, 01:46     Функция fread и матрицы
Ответ Создать тему
Опции темы

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