Пример.  Работа с двоичными файлами. Двоичные  файлы  отличаются  от  текстовых  тем,  что  в  них  записана  информация  во внутреннем машинном представлении. Двоичный файл нельзя просмотреть на экране (вернее, можно просмотреть, но очень сложно понять). Но есть и преимущества - из двоичных файлов можно читать сразу весь массив в виде единого блока. Также можно записать весь массив или его любой непрерывный кусок за одну команду. При   открытии   двоичного   файла   вместо   режимов   "r”,  "w”   и   "a”   используют соответственно "rb”, "wb” и "ab”. Дополнительная буква "b” указывает на то, что файл двоичный   (от   английского   слова   binary   -   двоичный).   Решение   предыдущей   задачи, использующее двоичный файл, показано ниже.

Задача. В файле "input.dat” записаны в два столбика пары чисел x и  y.  Записать  в  файл output.dat” в столбик суммы x+y для каждой пары. (для двоичного файла).

Решение.

#include <stdio.h>

void main()

{

int i, n, A[N];

FILE *fp;

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

n = fread ( A, sizeof(integer), N, fp );

if ( n < N ) {

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

 break;

 }

fclose ( fp );

for ( i = 0; i < N; i ++ )

   A[i] = A[i] * 2;

fp = fopen( "output.dat", "wb" );

fwrite ( A, sizeof(integer), N, fp );

fclose ( fp );

}



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