Пример. Работа с двоичными файлами. С двоичным файлом удобно работать тогда, когда данные записала (или будет читать) другая программа и их не надо просматривать вручную. Основное преимущество этого способа — скорость чтения и записи, поскольку весь массив читается (или записывается) сразу единым блоком. При этом функциям fread и fwrite надо указать размер одного элемента массива и количество таких элементов, то есть M*N. В программе, которая приведена ниже, матрица читается из двоичного файла, затем с ней выполняются некоторые действия (они обозначены многоточием) и эта же матрица записывается в выходной файл.
#include <stdio.h>
const M = 5; // число строк
const N = 4; // число столбцов
void main()
{
int total, A[M][N];
FILE *fp;
fp = fopen("input.dat", "rb");
total = fread(A, sizeof(integer), M*N, fp);
fclose ( fp );
if ( total != M*N )
{
printf("Не хватает данных");
return;
}
... // работа с матрицей
fp = fopen("output.dat", "wb");
if ( M*N != fwrite(A, sizeof(integer), M*N, fp) )
printf("Ошибка записи в файл");
fclose ( fp );
}