Чтение онлайн

на главную - закладки

Жанры

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

Субботин Д. М.

Шрифт:

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

В таблице описывается способ формирования ехес и 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 преобразование
времени из длинного целого (long int) в строку символов
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. В этих файлах содержится две различных версии макроопределений.

Поделиться:
Популярные книги

Курсант: назад в СССР

Дамиров Рафаэль
1. Курсант
Фантастика:
попаданцы
альтернативная история
7.33
рейтинг книги
Курсант: назад в СССР

Чужая семья генерала драконов

Лунёва Мария
6. Генералы драконов
Фантастика:
фэнтези
5.00
рейтинг книги
Чужая семья генерала драконов

Пышка и Герцог

Ордина Ирина
Фантастика:
юмористическое фэнтези
историческое фэнтези
фэнтези
5.00
рейтинг книги
Пышка и Герцог

Имперский Курьер. Том 5

Бо Вова
5. Запечатанный мир
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Имперский Курьер. Том 5

Имя нам Легион. Том 7

Дорничев Дмитрий
7. Меж двух миров
Фантастика:
боевая фантастика
рпг
аниме
5.00
рейтинг книги
Имя нам Легион. Том 7

Возвышение Меркурия

Кронос Александр
1. Меркурий
Фантастика:
героическая фантастика
попаданцы
аниме
5.00
рейтинг книги
Возвышение Меркурия

Законы Рода. Том 11

Андрей Мельник
11. Граф Берестьев
Фантастика:
юмористическое фэнтези
аниме
фэнтези
5.00
рейтинг книги
Законы Рода. Том 11

Измена. (Не)любимая жена олигарха

Лаванда Марго
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Измена. (Не)любимая жена олигарха

Вираж бытия

Ланцов Михаил Алексеевич
1. Фрунзе
Фантастика:
героическая фантастика
попаданцы
альтернативная история
6.86
рейтинг книги
Вираж бытия

Отмороженный 11.0

Гарцевич Евгений Александрович
11. Отмороженный
Фантастика:
боевая фантастика
рпг
попаданцы
фантастика: прочее
фэнтези
5.00
рейтинг книги
Отмороженный 11.0

История "не"мощной графини

Зимина Юлия
1. Истории неунывающих попаданок
Фантастика:
попаданцы
фэнтези
5.00
рейтинг книги
История немощной графини

Крестоносец

Ланцов Михаил Алексеевич
7. Помещик
Фантастика:
героическая фантастика
попаданцы
альтернативная история
5.00
рейтинг книги
Крестоносец

Газлайтер. Том 15

Володин Григорий Григорьевич
15. История Телепата
Фантастика:
боевая фантастика
попаданцы
5.00
рейтинг книги
Газлайтер. Том 15

Призыватель нулевого ранга

Дубов Дмитрий
1. Эпоха Гардара
Фантастика:
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Призыватель нулевого ранга