Категории
Самые читаемые
RUSBOOK.SU » Компьютеры и Интернет » Программирование » Язык программирования Си для персонального компьютера - C. Бочков

Язык программирования Си для персонального компьютера - C. Бочков

Читать онлайн Язык программирования Си для персонального компьютера - C. Бочков

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 42 43 44 45 46 47 48 49 50 ... 52
Перейти на страницу:

Система программирования ТС предоставляет также следующие функции:

Функция Краткое описание strtod преобразование строки в число типа double (покрывает возможности atof) strtol преобразование строки в число типа long (покрывает возможности atol) strtoul преобразование строки в число типа unsigned long

Прототипы всех перечисленных функций содержатся в файле stdlib.h. Прототип функции atof содержится, кроме того, в файле math.h.

Работа с каталогами файловой системы

Функция Краткое описание chdir изменение текущего рабочего каталога getcwd получить имя текущего рабочего каталога mkdir создать новый каталог rmdir удаление каталога

Система программирования ТС предоставляет, кроме перечисленных, следующие функции:

Функция Краткое описание findfirst начало поиска файла по шаблону имени findnext продолжение поиска файла по шаблону имени fnmerge создание имени файла из отдельных компонент fnsplit разбиение имени файла на отдельные компоненты getcurdir узнать текущий каталог getdisk узнать текущее устройство searchpath поиск файла в различных каталогах setdisk задать текущее устройство

В системе программирования MSC прототипы функций содержатся в файле direct.h, в системе программирования ТС прототипы функций содержатся в файле dir.h.

Операции над файлами

Функция Краткое описание access определение прав доступа к файлу chmod изменение прав доступа к файлу filelength измерение длины файла isatty проверка, является ли устройство символьным mktemp генерация уникального имени файла remove уничтожение файла rename переименование файла setmode установить новые значения для параметров файла

Система программирования MSC предоставляет дополнительно следующие функции:

Функция Краткое описание chsize изменение размера файла fstat получение информации о файле locking запирает область в файле (работает с версией ОС MS-DOS 3.0 и выше), временно запрещая к ней доступ со стороны других процессов, или отпирает эту область slat получение информации о файле umask установка маски для выбора режима работы по умолчанию unlink удаление файла

Система программирования ТС предоставляет дополнительно функции:

Функция Краткое описание chmod изменение прав доступа к файлу lock запирает область файла для доступа со стороны других процессов (работает с версией MS-DOS 3.0 и выше) unlock отпирает область (работает с версией MS-DOS 3.0 и выше)

Прототипы функций, за исключением функций fstat и stat, содержатся в файле io.h; прототипы функций fstat и stat описаны в файле sysstat.h.

Функции access, chmod, rename, stat и unlink оперируют с файлами, которые задаются через имя пути (pathname) -или через имя файла.

Функции chsize, filelength, isatty, locking, setmode, fstat работают с уже открытыми файлами, которые определяются дескрипторами (handle) (смотри далее описание функций ввода/вывода нижнего уровня).

Ввод и вывод

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

Функции ввода/вывода делятся на три класса:

1) Ввод/вывод верхнего уровня (с использованием понятия "поток").

2) Ввод/вывод для консольного терминала путем непосредственного обращения к нему.

3) Ввод/вывод нижнего уровня (с использованием понятия "дескриптор").

В библиотеке есть также функции для работы с последовательным портом (СОМ), они отнесены условно ко второй группе.

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

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

Для пользователя файл, открытый на верхнем уровне, представляется как последовательность считываемых или записываемых байтов. Чтобы отразить эту особенность организации ввода/вывода, предложено понятие "поток" (соответствует английскому слову stream). Когда файл открывается, с ним связывается поток, выводимая информация записывается "в поток", считываемая информация берется "из потока".

Когда поток открывается для ввода/вывода, он связывается со структурой типа FILE (имя типа FILE определяется с помощью конструкции typedef в файле stdio.h). Структура содержит разнообразную информацию о файле. При открытии файла с помощью функции fopen возвращается указатель на структуру типа FILE. Этот указатель (указатель потока) используется для последующих операций с файлом, пользователь не обязан вникать в способ организации потока, он только должен сохранить полученный указатель и передавать его значение всем библиотечным функциям, используемым для ввода/вывода через этот поток.

Функции в/в верхнего уровня дают возможность для буферизованного форматированного и неформатированного ввода/вывода.

Функции в/в верхнего уровня относятся к числу функций, одинаково реализуемых в различных ОС и на разных компьютерах, с их помощью пользователь имеет возможность писать переносимые программы.

Функции ввода/вывода для консоли и порта распространяют возможности функций ввода/вывода верхнего уровня на этот класс устройств, добавляя новые возможности.

Они позволяют читать или записывать на консоль (терминал) или в порт ввода/вывода (например, порт принтера). Функции в/в с портом читают или записывают данные побайтно. Некоторые дополнительные режимы устанавливаются для в/в с консоли (например: ввод с эхо-печатью символов и без эхо-печати).

Функции в/в для консоли и порта являются уникальными для компьютеров типа IBM/PC.

Функции в/в низкого уровня не выполняют буферизацию и форматирование данных; они позволяют непосредственно пользоваться средствами ввода/вывода операционной системы.

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

1 ... 42 43 44 45 46 47 48 49 50 ... 52
Перейти на страницу:
На этой странице вы можете бесплатно скачать Язык программирования Си для персонального компьютера - C. Бочков торрент бесплатно.
Комментарии
Открыть боковую панель
Комментарии
Сергій
Сергій 25.01.2024 - 17:17
"Убийство миссис Спэнлоу" от Агаты Кристи – это великолепный детектив, который завораживает с первой страницы и держит в напряжении до последнего момента. Кристи, как всегда, мастерски строит