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

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

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

При открытии двоичного файла вместо режимов "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; просмотров: 670;


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

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

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

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