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