Пример. Работа с двоичными файлами. С  двоичным  файлом  удобно  работать  тогда,  когда  данные  записала  (или  будет  читать) другая программа и их не надо просматривать вручную. Основное преимущество этого способа — скорость чтения и записи, поскольку весь массив читается (или записывается) сразу единым блоком. При этом функциям 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 );

}



2009-12-19 • Просмотров [ 1184 ]