Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lektsii_po_si.doc
Скачиваний:
13
Добавлен:
12.11.2018
Размер:
11.78 Mб
Скачать

Трехъязычный словарь "Цифры

Английский язык

Немецкий язык

Французский язык

1

ONE

EINS

UN

2

TWO

ZWEI

DEUX

3

THREE

DREI

TROIS

4

FOUR

VIER

QUATRE

5

FIVE

FONF

CINQ

6

SIX

SECHS

SIX

7

SEVEN

SIEBEN

SEPT

8

EIGHT

ACHT

HUIT

9

NINE

NEUN

NEUF

Кроме рассмотренной функции fseek( ), в библиотеке функций языка Си находятся следующие функции для работы с указателями текущей позиции в потоке:

long ftelI(FILE *) - получить значение указателя текущей позиции в потоке;

void rewind(FILE *) - установить указатель текущей позиции в потоке на начало потока.

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

7.2. Ввод-вывод нижнего уровня

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

Функции ввода-вывода более низкого уровня позволяют пользоваться средствами ввода-вывода операционной системы непосредственно. При этом не выполняются буферизация и форматирование данных. Программы, использующие низкоуровневый ввод-вывод, переносимы в рамках некоторых систем программирования Си, в частности, относящихся к UNIX. Учитывая близость функций низкоуровневого ввода-вывода к средствам ввода-вывода операционной системы, можно рекомендовать их применение для разработки собственной подсистемы ввода-вывода, например ориентированной на работу со сложными структурами данных (списки, деревья, сложные записи и т.п.).

При низкоуровневом открытии файла с ним связывается не указатель файла (потока), а дескриптор (handle) файла. Дескриптор является целым значением, характеризующим размещение информации об открытии файла во внутренних таблицах операционной системы. Дескриптор файла используется при последующих операциях с файлом.

В библиотеку языка Си включены следующие основные функции ввода-вывода нижнего уровня:

open( )/cose( ) - открыть / закрыть файл;

creat( ) -создать файл;

read( )/write( ) - читать / писать данные;

sopen( ) - открыть файл в режиме разделения, т.е. для одновременного доступа со стороны нескольких процессов (работающих программ);

eof( ) - проверить достижение конца файла;

Iseek( ) - изменить текущую позицию в файле;

tell( ) - получить значение текущей позиции в файле.

Для работы с функциями нижнего уровня в программу должны включаться соответствующие заголовочные файлы. Имена этих файлов могут быть различными в разных операционных системах. Поэтому перед написанием программ, использующих функции ввода-вывода нижнего уровня, или при переносе программ в другую операционную систему необходимо ознакомиться с документацией по библиотеке Си для данной операционной системы.

Функции нижнего уровня в отличие от функций для работы с потоком не требуют включения в программу заголовочного файла stdio.h. Однако, этот файл содержит определения ряда констант (например, признак конца файла EOF), которые могут оказаться полезными. В случае применения этих констант файл stdio.h должен быть включен в программу.