Работа с двоичными файлами

Двоичные файлы отличаются от текстовых тем, что в них записана информация во внут-

реннем машинном представлении. Двоичный файл нельзя просмотреть на экране (вернее, можно просмотреть, но очень сложно понять). Но есть и преимущества – из двоичных файлов можно читать сразу весь массив в виде единого блока. Также можно записать весь массив или его любой непрерывный кусок за одну команду.

При открытии двоичного файла вместо режимов "r", "w"и "a"используют соответст-

венно "rb", "wb"и "ab". Дополнительная буква "b"указывает на то, что файл двоичный(от английского слова binary – двоичный). Приведем решение одной задачи, которую мы уже разбирали ранее.

Пример. Ввести массив из 10 целых чисел из двоичногофайла input.dat, умножить каждый элемент на 2 и вывести в двоичныйфайл output.dat.э

 

Для чтения из двоичного файла используется функция fread, которая принимает 4 пара-

метра:

• адрес области в памяти, куда записать прочитанные данные (в данном случае это адрес первого элемента массива A, который обозначается как &A[0]или просто A);

• размер одного элементаданных (лучше сделать так, чтобы машина сама определила

его, например, в нашем случае – sizeof(int)– размер целого числа. Хотя в Dev-

C++ целое число занимает 4 байта, в в других системах программирования это может

быть не так; наша программа будет работать и в этом случае, то есть станет переносимой на другую платформу;

• количество элементовданных в массиве (N);

• указатель на открытый файл, откуда читать данные (fp).

Функция freadвозвращает количество успешно прочитанных элементов массива – ее возвращаемое значение можно использовать для обработки ошибок. Если функция freadвернула значение, меньшее, чем N, в файле не хватает данных.

Для записи массива в двоичный файл используется функция fwriteс такими же параметрами; она возвращает количество успешно записанных элементов.

Преимущество этого способа состоит в том, что массив читается и записывается сразу

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








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


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

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

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

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