Язык программирования Си для персонального компьютера
Шрифт:
В функции ехес порождаемый процесс перекрывает порождающий процесс, так что возврат управления в родительский процесс невозможен (если не произошла ошибка во время попытки запуска на выполнение порождаемого процесса).
В таблице описывается способ формирования ехес и spawn. Имя функции задается в первом поле. Второе поле определяет: используется ли переменная PATH для поиска файла для выполнения, который определяет порождаемый процесс.
Третье поле описывает метод передачи аргументов порождаемому процессу. Передача аргументов списком означает, что аргументы в порождаемый процесс передаются один за одним, в том порядке, как пользователь перечислил их в обращении к функции ехес или spawn. Передача аргументов массивом означает, что аргументы помещаются в массив и указатель на массив передается порождаемому процессу. Передача списком обычно используется, когда число аргументов постоянно и известно заранее, а метод
Таблица 9.1.
функция | Использование PATH переменной | Способ передачи аргументов | Окружение |
execl | не использует PATH | список аргументов | наследует от родителя |
spawnl | |||
execle | не использует PATH | список аргументов | указатель на таблицу окружения (последний аргумент) |
spawnle | |||
execlp | использует PATH | список аргументов | наследует от родителя |
spawnlp | |||
execlpe | использует PATH | список аргументов | указатель на таблицу окружения (последний аргумент) |
spawnlpe | |||
execv | не использует PATH | массив аргументов | наследует от родителей |
spawnv | |||
execve | не использует PATH | массив аргументов | указатель на таблицу окружения (последний аргумент) |
spawnve | |||
execvp | использует PATH | массив аргументов | наследует от родителя |
spawnvp | |||
execvpe | использует PATH | массив аргументов | указатель на таблицу окружения (последний аргумент) |
spawnvpe |
Поиск и сортировка
Следующие библиотечные функции предназначены для поиска и сортировки в массиве:
Функция | Краткое описание |
bsearch | выполняет двоичный поиск |
lfind | выполняет линейный поиск для заданного значения |
lsearch | выполняет линейный поиск для заданного значения, которое добавляется в массив, если не найдено |
qsort | выполняет быструю сортировку |
Прототипы функций содержатся в файле search.h в системе программирования MSC, в файле stdlib.h в системе программирования ТС.
Функции работы со временем
Функция | Краткое описание |
asctime | преобразование времени из структуры (внутренней формы) в символьную строку |
ctime | преобразование
|
gmtime | преобразование времени из целого (int) в структуру |
localtime | преобразование времени из целочисленного (int) в структуру с локальной поправкой |
tzset | установить переменную времени из переменной времени среды |
Система программирования MSC предоставляет дополнительные функции:
Функция | Краткое описание |
ftime | получить текущее время системы как структуру |
time | получить текущее системное время как длинное целое (long int) |
utime | установить время изменения файла |
Система программирования ТС предоставляет дополнительные функции:
Функция | Краткое описание |
difftime | вычислить разность по времени |
dostounix | преобразование времени из формате ОС MS-DOS в формат ОС UNIX |
getdate | получить системную дату как структуру |
getftime | получить системную дату |
gettime | получить системное время как структуру |
setdate | установить системную дату |
setftime | установить системное время |
settime | установить системное время |
stime | установить системное время |
unixtodos | преобразовать время из формата ОС UNIX в формат ОС MS-DOS |
Функции time и ftime возвращают текущее время как число секунд, прошедших с 1 января 1970 Гринвичского Всемирного времени. Эта величина может быть преобразована, скорректирована и сохранена посредством функций asctime, ctime, gmtime и localtime.
Функция utime устанавливает время модификации для указанного файла, используя текущее время или значение времени, заданное в структуре.
Функция ftime требует включения двух файлов: sys\types.h и sys\timeb.h. Прототип функции ftime содержится в sys\timeb.h.
Функция utime также требует включения двух файлов: sys\types.h и sys\utime.h. Прототип функции utime содержится в файле sys\utime.h.
Прототипы функций dostounix, getdate, gettime, setdate, settime, unixtodos содержатся в файле dos.h.
Прототипы функций getftime и setftime определены в файле io.h.
Прототипы остальных функций работы со временем времени содержатся в файле time.h.
При использования функции ftime или localtime, чтобы сделать поправку для местного времени, необходимо определить переменную командного языка операционной системы TZ.
Функции работы со списком аргументов
Функция | Краткое описание |
va_arg | выбрать аргумент из списка |
va_end | переустановить указатель |
va_start | установить указатель на начало списка аргументов |
Эти макроопределения дают возможность получить доступ к аргументам функции, когда число аргументов переменно.
В системе программирования MSC для совместимости с ОС UNIX System V можно использовать включаемый файл vararg.h, для совместимости со стандартом ANSI на язык Си можно использовать включаемый stdarg.h. В этих файлах содержится две различных версии макроопределений.