Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информат.Лек.фр.doc
Скачиваний:
15
Добавлен:
10.11.2019
Размер:
5.51 Mб
Скачать

15.2. Бинарные файлы

Текстовые файлы удобны, поскольку информация в них приведена в привычной для человека форме. Но они не обладают той гибкостью при вводе и выводе, которой обладают двоичные или бинарные файлы. Бинарные файлы еще называются неформатируемыми, так как в них информация не разбивается на строки, как в текстовых, а хранится сплошным потоком или в «сыром» виде.

В С++ для бинарных файлов поддерживается широкий диапазон функций ввода и вывода. Они дают возможность точно контролировать процессы считывания из файлов и записи в них.

На нижнем уровне двоичного ввода и вывода находятся функции соответственно get( ) и put( ).

Функция get( ) позволяет считывать один байт информации из связанного потока и передавать его значение аргументу символ по ссылке. При считывании символа конца файла функция возвращает вызывающему потоку значение false.

Функция put( ) обеспечивает запись одного байта информации, записывая символ в поток по ссылке.

Синтаксис оператора открытия бинарного файла имеет вид:

имя ф. переменной.open (“путь и имя физич. файла.bin”, ios::binary||ios::in);

Например:

f.open(“c:\\EAPU\\a\\isd.bin”, ios::binary||ios::in);

Здесь f – имя файловой переменной,

c:\\EAPU\\a\\isd.binсоответственно путь и имя физического файла, с которым связывается файловая переменная f,

ios::binaryрежим ввода двоичный,

ios::inрежим доступа (чтение).

Аналогично открывается файл для записи:

f.open(“c:\\EAPU\\a\\res.bin”, ios::binary||ios::out);

Здесь c:\\EAPU\\a\\res.binпуть и имя физического файла, куда производится запись информации, о чем говорит спецификация доступа ios::out.

В С++ имеется еще и другая возможность ввода и вывода информации с бинарными файлами. Она позволяет перемещать информацию не по одному байту, а блоками. Для этого предусмотрены две функции:

  • read ( ) // для чтения,

  • write ( ) // для записи.

Примером побайтового ввода и вывода в двоичном формате может быть следующая программа:

# include <fstream.h>

void main( )

{

char ch;

fstream f1, f2;

f1.open(“c:\\EAPU\\a\\isd.bin”, ios::binary||ios::in);

f2.open(“c:\\EAPU\\a\\res.bin”, ios::binary||ios::out);

do

{

f1. get(ch);

f2. put(ch);

}

while ( ! f1. eof( ));

f1. close( );

f2. close( );

}

Здесь информация из файла isd.bin по одному байту перемещается в файл res.bin.

Лекция 16

16. Функции

Vocabulaire

функция – fonction (f) [фонксъён]

улучшить читаемость – améliorer la lisibilité [амэлъёрэ ля лизибилитэ]

облегчить читаемость – alléger la lisibilité [алэжэрэ ля лизибилитэ]

разделить (разбить на части) – fractionner [фраксъёнэ]

фрагмент, часть – fragment (m) [фрагман]

фрагмент программы – fragment du programme [фрагман дю програм]

объявление – déclaration (f ) [дэкларасъён]

определение (формулировка) – définition (f ) [дэфинисъён]

список – liste (f ) [лист]

список параметров – liste de paramètres [лист дэ парамэтр]

список аргументов – liste d’argumentes [лист дэзаргюман]

оператор возврата – opérateur de retour [опэратор дьо рэтур]

оператор вызова – opérateur d`appel [опэратор дапэль]

локальные данные – données locaux [доннэ лёко]

глобальные данные – données globaux [доннэ глёбо]

расположение оператора вызова – disposition de l`opérateur d`appel [диспозисъён дьо лопэратор дапэль]

перед чем –либо – devant qch [дэван]

расположение функций перед главной функцией – disposition des fonctions devant la fonction principale [диспозисъён дэ фонксъён дэван ля фонксъён прэнсипаль]

после чего – либо – après qch [апрэ]

расположение функций после главной функции – disposition des fonctions

après la fonction principale [диспозисъён дэ фонксъён апрэ ля фонксъён прэнсипаль]

прототип – prototype (m) [прототип]

Основной программной единицей алгоритмического языка С ++ является функция.

Функция – это самостоятельная программная единица, предназначенная для решения конкретной, локальной задачи.

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