Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.11.2012, 12:29   #1
Игорь_С
Пользователь
 
Аватар для Игорь_С
 
Регистрация: 14.10.2012
Сообщений: 39
По умолчанию входные выходные потоки

Доброго времени суток вот решил потренироваться с считыванием из файла и запись туда же. Но почему то не хочет считывать выдаёт по видимому всякий мусор. Не понимаю в чём дело. Вот хочу считать матрицу 3*3
Код:
 const int N=3;

    int array[N][N];
    FILE *f=fopen("matrix.txt", "rb");
    for(int i=0; i<N; i++)
    {
        for(int j=0; j<N; j++)
        fread(&array[i][j], 4, 1, f);
    }
Игорь_С вне форума Ответить с цитированием
Старый 19.11.2012, 13:00   #2
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,330
По умолчанию

Судя по разширению файла, он содержит текст а в цикле вы читаете в int.
Читайте из файла строку текста, потом преобразуйте в число.
fgets(), atoi()
waleri вне форума Ответить с цитированием
Старый 19.11.2012, 13:01   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А файл хоть бинарный? Или всетки текстовый?
Еще такой момент: если бинарник Вместо циклов можно
Код:
 fread(&array[0][0], sizeof(int)*N, N, f);
Чтоб считать весь поток сразу
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 19.11.2012, 13:40   #4
Игорь_С
Пользователь
 
Аватар для Игорь_С
 
Регистрация: 14.10.2012
Сообщений: 39
По умолчанию

в том и дело что файл содержит числа (простую матрицу чисел). поэтому смысла нет что то преобразовывать.
Игорь_С вне форума Ответить с цитированием
Старый 19.11.2012, 14:57   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
простую матрицу чисел
Пример файла в студию.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 19.11.2012, 15:53   #6
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,707
По умолчанию

Если вы открыли файл в блокноте и видите 5 6 -34 и подобное - это и означает, что он текстовой.
p51x вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача в Pascal (входные-выходные данные) Remi Помощь студентам 3 20.11.2010 12:08
Задача в Pascal (входные-выходные данные) Remi Помощь студентам 0 19.11.2010 20:38
Входные и выходные данные! Awakie Помощь студентам 6 15.11.2010 20:59
Опишите входные и выходные данные программы predator14 Помощь студентам 0 06.06.2010 20:08
Входные и выходные данные allsolovey Общие вопросы C/C++ 1 12.02.2009 20:10