Двоичные файлы

С двоичным файлом удобно работать тогда, когда данные записала (или будет читать)

другая программа и их не надо просматривать вручную. Основное преимущество этого способа— скорость чтения и записи, поскольку весь массив читается (или записывается) сразу единым блоком. При этом функциям freadи fwriteнадо указать размер одного элемента массива и количество таких элементов, то есть M*N.

В программе, которая приведена ниже, матрица читается из двоичного файла, затем с ней

выполняются некоторые действия (они обозначены многоточием) и эта же матрица записывается в выходной файл.

#include <stdio.h>

const int M = 5; // числострок

const int N = 4; // числостолбцов

Main()

{

int total, A[M][N];

FILE *fp;

fp = fopen("input.dat", "rb");

total = fread(A, sizeof(int), M*N, fp); // чтениематрицы

Fclose ( fp );

if ( total != M*N ) // обработкаошибки

{

printf("Не хватает данных");

return 1; // выход по ошибке, код ошибки 1

}

// работа с матрицей

fp = fopen("output.dat", "wb"); // запись матрицы в файл

if ( M*N != fwrite(A, sizeof(int), M*N, fp) )

printf("Ошибка записи в файл");

Fclose ( fp );

}

Для обработки ошибок используется тот факт, что функции fread и fwriteвозвращают ко-

личество реально прочитанных (записанных) элементов, и если оно не равно заданному (M*N),то произошла ошибка.








Дата добавления: 2015-10-05; просмотров: 767;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.003 сек.