stdlib.h
Содержание
Функции
| Имя | Описание |
|---|---|
| Преобразование типов | |
| atof | строка в число двойной точности (double; НЕ float) |
| atoi | строка в целое число (integer) |
| atol | строка в длинное целое число (long integer) |
| atoll | строка в длинное целое число (long long integer) |
| strtod | строка в число двойной точности (double) |
| strtof | строка в число одиночной точности (float) |
| strtol | строка в длинное целое число (long integer) |
| strtold | строка в длинное двойной точности (long double) |
| strtoll | строка в длинное целое число (long long integer) |
| strtoul | строка в беззнаковое длинное целое число (unsigned long integer) |
| strtoull | строка в беззнаковое длинное целое число (unsigned long long integer) |
| Генерация псевдослучайных последовательностей | |
| rand | генерирует псевдослучайное значение |
| srand | устанавливает начальное значение генератора псевдослучайных чисел |
| Выделение и освобождение памяти | |
| malloc calloc realloc | выделяет память из кучи |
| free | освобождает память обратно в кучу |
| Контроль процесса выполнения программы | |
| abort | некорректное завершение выполнения |
| atexit | регистрирует обратный вызов функции для выхода из программы |
| exit | завершает выполнение программы |
| getenv | извлекает переменные окружения |
| system | выполняет внешнюю команду |
| Сортировка и поиск | |
| bsearch | двоичный поиск в массиве |
| qsort | сортировка массива |
| Математика | |
| abs labs | абсолютная величина |
| div ldiv | деление целых чисел |
| Многобайтовые операции/ широкие символы | |
| mblen | размер многобайтовых символов [1] |
| mbtowc, wctomb, mbstowcs, wcstombs | преобразование многобайтовых и широких символов [1] |
Заголовочные файлы stdlib.h и stddef.h определяют макрос NULL, являющийся константным нуль-указателем, который гарантированно указывает на некорректный адрес памяти.
Варианты
NULL может быть определен как константное выражение, равное целому нулевому числу (нулю), длинному целому нулю, или нуль приводится к указателю типа void *:
Несмотря на то, что константа нуль-указателя всегда представляется в Си символьной константой 0 или 0, привёденным к void-указателю, реальное битовое представление подобного указателя зависит от системы и может содержать однобитовые значения.
size_t
Настоящий тип size_t платформо-независим; распространенной ошибкой является подразумевать под size_t беззнаковое целое ( unsigned int ), что может привести к ошибкам программирования, [3] причём в первую очередь это касается 64-битных архитектур.
div_t, ldiv_t
Нестандартные функции
itoa — общая функция, входящая во множество реализаций stdlib.h, но не определяемая стандартом. Возможно, её так часто включают в библиотеки благодаря её описанию в книге «Язык программирования Си». Аналогичного эффекта можно добиться при помощи функции sprintf, которая определена в стандарте.
См. также
Примечания
Ссылки
Полезное
Смотреть что такое «stdlib.h» в других словарях:
Stdlib.h — заголовок (заголовочный файл) стандартной библиотеки общего назначения языка Си, который содержит в себе функции, занимающиеся выделением памяти, контроль процесса выполнения программы, преобразования типов и другие. Заголовок вполне совместим с… … Википедия
Stdlib.h — is the header of the general purpose standard library of C programming language which includes functions involving memory allocation, process control, conversions and others. It is compatible with C++ and is known as cstdlib in C++. The name… … Wikipedia
Stdlib.h — Saltar a navegación, búsqueda stdlib.h (std lib: standar library o biblioteca estándar) es el archivo de cabecera de la biblioteca estándar de propósito general del lenguaje de programación C. Contiene los prototipos de funciones de C para… … Wikipedia Español
stdlib.h — (std lib: standard library o biblioteca estándar) es el archivo de cabecera de la biblioteca estándar de propósito general del lenguaje de programación C. Contiene los prototipos de funciones de C para gestión de memoria dinámica, control de… … Wikipedia Español
Dao (programming language) — Infobox programming language name = Dao paradigm = Multi paradigm year = 2006 designer = Limin Fu latest release version = dao 1.0 preview latest release date = 2008 04 25 typing = statically typed or dynamically typed influenced by = C++, Lua,… … Wikipedia
Strtod — is a C language function that converts an ASCII string to a double precision value. It is utilized via the following sequence:double strtod(const char *restrict, char **restrict); [OpenGroup Technical Standards Documentation] Strtod is included… … Wikipedia
strtod — (сокр. от string to double, «строку в число двойной точности») функция языка Си, конвертирующая символ строки в число с плавающей запятой двойной точности. Определение функции имеет вид: double strtod ( const char * str, char ** endptr… … Википедия
Memory leak — A memory leak, in computer science (or leakage, in this context), occurs when a computer program consumes memory but is unable to release it back to the operating system. In object oriented programming, a memory leak happens when an object is… … Wikipedia
Stdlib.h
stdlib.h
Содержание
Member functions
Члены stdlib.h можно разделить на следующие категории: преобразования типов, управление памятью, контроль процесса, сортировка и поиск, математика.
| Имя | Описание |
|---|---|
| Преобразование типов | |
| atof | строка в число двойной точности (НЕ float) |
| atoi | строка в целое число |
| atol | строка в длинное целое число |
| strtod | строка в число двойной точности (double) |
| strtol | строка в длинное целое число |
| strtoul | строка в беззнаковое длинное целое число (unsigned long int) |
| Генерация псевдослучайных последовательностей | |
| rand | генерирует псевдослучайное значение |
| srand | устанавливает начальное значение генератора псевдослучайных чисел |
| Выделение и освобождение памяти | |
| malloc calloc realloc | выделяет память из кучи |
| free | освобождает память обратно в кучу |
| Контроль процесса выполнения программы | |
| abort | некорректное завершение выполнения |
| atexit | регистрирует обратный вызов функции для выхода из программы |
| exit | завершает выполнение программы |
| getenv | извлекает переменные окружения |
| system | выполняет внешнюю команду |
| Сортировка и поиск | |
| bsearch | двоичный поиск в массиве |
| qsort | сортировка массива |
| Математика | |
| abs labs | абсолютная величина |
| div ldiv | деление целых чисел |
| Многобайтовые операции/ широкие символы | |
| mblen | размер многобайтовых символов [1] |
| mbtowc, wctomb, mbstowcs, wcstombs | преобразование многобайтовых и широких символов [2] |
Члены-константы
Заголовочные файлы stdlib.h и stddef.h определяют макрос NULL, который порождает константный нуль-указатель, и представляет собой значение указателя, гарантирующего корректность указателя, не указывающего на действительный (корректный) адрес в памяти.
Варианты
NULL может быть определен как константное выражение, равное целому нулевому числу (нулю), длинному целому нулю, или нуль приводится к указателю типа void *:
Несмотря на то, что константа нуль-указателя всегда представляется в Си символьной константой 0 или 0, приведенным к void-указателю, реальное битовое представление подобного указателя зависит от системы и может содержать однобитовые значения.
Типы членов-данных
size_t
Настоящий тип size_t платформо-независим; распространенной ошибкой является подразумевание size_t как беззнаковое целое ( unsigned int ), что может привести к ошибкам программирования, [4] причем в первую очередь это касается 64-битных архитектур.
div_t, ldiv_t
Нестандартные функции
itoa — общая функция, входящая во множество реализаций stdlib.h, но стандарт не определяет функцию. Возможно, ее так часто включают в библиотеки благодаря ее описанию в книге Язык программирования Си. Аналогичного эффекта можно добиться при помощи функции sprintf, которая определена в стандарте.
См. также
Примечания
Ссылки
Полезное
Смотреть что такое «Stdlib.h» в других словарях:
Stdlib.h — is the header of the general purpose standard library of C programming language which includes functions involving memory allocation, process control, conversions and others. It is compatible with C++ and is known as cstdlib in C++. The name… … Wikipedia
Stdlib.h — Saltar a navegación, búsqueda stdlib.h (std lib: standar library o biblioteca estándar) es el archivo de cabecera de la biblioteca estándar de propósito general del lenguaje de programación C. Contiene los prototipos de funciones de C para… … Wikipedia Español
stdlib.h — (std lib: standard library o biblioteca estándar) es el archivo de cabecera de la biblioteca estándar de propósito general del lenguaje de programación C. Contiene los prototipos de funciones de C para gestión de memoria dinámica, control de… … Wikipedia Español
stdlib.h — Стандартная библиотека языка программирования С assert.h complex.h ctype.h errno.h fenv.h float.h inttypes.h iso646.h limits.h locale.h math.h setjmp.h signal.h stdarg.h stdbool.h stddef.h stdint.h … Википедия
Dao (programming language) — Infobox programming language name = Dao paradigm = Multi paradigm year = 2006 designer = Limin Fu latest release version = dao 1.0 preview latest release date = 2008 04 25 typing = statically typed or dynamically typed influenced by = C++, Lua,… … Wikipedia
Strtod — is a C language function that converts an ASCII string to a double precision value. It is utilized via the following sequence:double strtod(const char *restrict, char **restrict); [OpenGroup Technical Standards Documentation] Strtod is included… … Wikipedia
strtod — (сокр. от string to double, «строку в число двойной точности») функция языка Си, конвертирующая символ строки в число с плавающей запятой двойной точности. Определение функции имеет вид: double strtod ( const char * str, char ** endptr… … Википедия
Memory leak — A memory leak, in computer science (or leakage, in this context), occurs when a computer program consumes memory but is unable to release it back to the operating system. In object oriented programming, a memory leak happens when an object is… … Wikipedia
Include stdlib h что это
В этой главе описаны вспомогательные функции, которые могут быть использованы в разнообразных программах. Соответствующие описания содержатся в файле stdlib.h.
Перед завершением программы abort генерирует сигнал sigabrt (используя raise(sigabrt)).
Если Вы использовали signal для установки обработчика данного сигнала, то этот обработчик может взять управление на себя, предотвратив прекращение работы программы.
abort не выполняет каких-либо действий, связанных с очисткой потоков или файлов (это может сделать среда, в которой работает программа; если она этого не делает, то Вы можете организовать для своей программы свою собственную очистку при помощи обработчика сигнала sigabrt).
abort не возвращает yпpавление вызвавшей программе.
Стандарт ANSI требует наличия процедуры abort.
Требуются процедуры ОС getpid и kill.
Похожая функция labs используется для возвращения значений типа long, а не int.
Резyльтат является неотpицательным целым.
Стандарт ANSI требует наличия функции abs.
Не требуется никаких пpоцедyp ОС.
Когда expression ложно (ноль), assert вызывает abort, предварительно выведя сообщение, показывающие, какая и где произошла ошибка:
assert, так же как и его поведение при определении NDEBUG, определяется стандартом ANSI.
Требуются процедуры ОС (только если использования assert не исключены) close, fstat, getpid, isatty, kill, lseek, read, sbrk, write.
Эти функции помещаются в lifo-стек; таким образом последняя из перечисленных функций будет выполнена первой при выходе из программы.
Не предусмотрено никаких ограничений на количество внесенных в этот список функций; после внесения каждых 32 функций в список, atexit вызывает malloc для выделения памяти под следующую часть списка. Место для первых 32 элементов списка выделяется статически, так что Вы всегда можете рассчитывать на то, что по крайней мере 32 функции могут быть внесены в список.
Стандарт ANSI требует наличия функции atexit и определяет безусловную возможность внесения в список по крайней мере 32 функций.
Требуются пpоцедypы ОС close, fstat, isatty, lseek, read, sbrk, write.
Эта функция разбирает строку символов s, выделяя подстроку, которая может быть преобразована в число с плавающей точкой. Эти подстроки должны удовлетворять формату
atof возвращает значение преобразованной подстроки, если она есть, как double; или 0.0, если никакого преобразования не было выполнено. Если правильное значение вышло за границы представляемых значений, то возвращается плюс или минус huge_val и в errno записывается erange. Если правильное значение слишком мало, то возвращается 0.0 и erange сохраняется в errno.
atoff подчиняется тем же правилам, что и atof, за исключением того, что выдает float.
Стандарт ANSI требует наличия функции atof. atof, atoi и atol относятся к тому же типу, что и strod и strol, но интенсивно используются в существующих программах. Эти функции менее надежны, но могут исполняться быстрее, если известно, что аргумент находится в допустимом диапазоне.
Требуются процедуры ОС close, fstat, isatty, lseek, read, sbrk, write.
Эти функции возвращают преобразованное значение, если оно есть. Если никакого преобразования не было выполнено, то возвращается 0.
Стандарт ANSI требует наличия функции atoi.
Никаких процедур ОС не требуется.
atol(s) реализован как strtol(s,NULL,10).
Стандарт ANSI требует наличия функции atol.
Никаких процедур ОС не требуется.
Массив должен быть отсортирован в возрастающем порядке относительно функции сравнения compar (которая передается как последний аргумент bsearch).
Вы должны определить функцию сравнения (*compar), имеющую два аргумента; ее результат должен быть отрицательным, если первый аргумент меньше второго, ноль, если оба аргумента совпадают и положительным, если первый аргумент больше второго (где «меньше» и «больше» относятся к произвольному подходящему порядку).
Эта функция возвращает указатель на элемент array, который сравним с key. Если подходящих элементов несколько, то результат может быть указателем на любой из них.
Стандарт ANSI требует наличия функции bsearch.
Никаких процедур ОС не требуется.
Выделяемая при помощи calloc память берется из области, используемой malloc, но блоки памяти при инициализации заполняются нулями. (Для избежания накладных расходов вpемени для инициализации выделяемой памяти использyйте malloc.)
В случае успешного выполнения функции выдается указатель на выделенное пространство, в противном случае возвращается NULL.
Стандарт ANSI требует наличия функции calloc.
Требуются процедуры ОС close, fstat, isatty, lseek, read, sbrk, write.
Результат представляется при помощи структуры
Когда d равно 0, поле quot результата имеет тот же знак, что и n и наибольшее представимое его типом значение.
Для деления значений типа long, а не int, используйте похожую функцию ldiv.
Стандарт ANSI требует наличия функции div, но обработка нулевого d не определена стандартом.
Никаких процедур ОС не требуется.
Единственнон отличие между ecvt и fcvt состоит в интерпретации второго аргумента (chars или decimals). Для ecvt второй аргумент chars определяет общее число выводимых знаков (которое является также числом значащих знаков в форматированной строке, поскольку эти функции выводят только цифры). Для fcvt второй аргумент decimals определяет число знаков после десятичной точки, все знаки целых частей val выводятся всегда.
Все четыре функции возвращают указатель на строку, содержащую текстовое представление val.
Ни одна из этих функций не определена в ANSI C.
Требуются пpоцедypы ОС close, fstat, isatty, lseek, read, sbrk, write.
В результате выдается указатель на отформатированное представление val (совпадающий с аргументом buf).
Ни одна из этих функций не определена в стандарте ANSI C.
Требуются процедуры ОС close, fstat, isatty, lseek, read, sbrk, write.
Единственнон отличие между ecvtbuf и fcvtbuf состоит в интерпретации второго аргумента (chars или decimals). Для ecvtbuf второй аргумент chars определяет общее число выводимых знаков (которое является также числом значащих знаков в форматированной строке, поскольку эти функции выводят только цифры). Для fcvtbuf второй аргумент decimals определяет число знаков после десятичной точки, все знаки целых частей val выводятся всегда.
Все четыре функции возвращают указатель buf на строку, содержащую текстовое представление val.
Стандарт ANSI не требует наличия ни одной из этих функций.
Требуются процедуры ОС close, fstat, isatty, lseek, read, sbrk, write.
exit производит два вида очищающих операций перед завершением выполнения программы. Сначала вызывается определенные приложением функции, которые Вы можете перечислить при помощи atexit. Во-вторых, очищаются файлы и потоки: все выводимые данные доставляются операционной системе, каждый открытый файл или поток закрывается, а файлы, созданные с помощью tmpfile, уничтожаются.
exit не возвращает yпpавление вызвавшей пpогpамме.
Стандарт ANSI требует наличия функции exit, также как и величин exit_success и exit_failure.
Требуется процедура ОС _exit.
Возвращается указатель на (строку) значение переменной среды или NULL, если такой переменной среды нет.
Стандарт ANSI требует наличия функции getenv, но правила наименования переменных среды могут меняться в зависимости от системы.
getenv требует наличия глобального указателя environ.
Похожая фyнкция abs обpабатывает и выдает значения типа int, а не длинные числа.
В pезyльтате полyчается неотpицательное длинное целое.
Стандарт ANSI требует наличия функции labs.
Никаких процедур ОС не требуется.
Результат представляется при помощи структуры
Когда d ноль, поле quot имеет тот же знак, что и n, и наибольший представимый модуль.
Для деления значений типа int, а не long, используйте похожую функцию div.
Стандарт ANSI требует наличия функции ldiv, но обработка нулевого d не определена стандартом.
Никаких процедур ОС не требуется.
Используйте malloc для запроса места под объект размером по крайней мере nbytes байт. Если пространство доступно, то malloc возвращает указатель на выделенное место в памяти.
Если у вас уже есть выделенное malloc место в памяти, но Вам уже не нужно все имеющееся пространство, Вы можете уменьшить использование памяти, вызвав realloc, задав ему указатель на объект и его новый размер как параметры. realloc гарантирует, что содержимое меньшего объекта будет соответствовать началу содержимого исходного объекта.
Аналогично, если Вам нyжно отвести для объекта больше памяти, использyйте realloc для запpоса большего количества памяти, в этом слyчае realloc также гаpантиpyет соответствие начала нового объекта стаpомy объектy.
Если Вам больше не тpебyется объект, выделенный пpи помощи malloc или realloc (или фyнкцией calloc), то занимаемое им место можно возвpатить системе, вызвав free, задав адpес объекта в качестве аpгyмента. Также для этого можно использовать realloc, задав 0 в качестве аpгyмента nbytes.
malloc возвращает указатель на выделенное пространство нужного размера, если оно было найдено, и NULL в противном случае. Если ваше приложение должно сгенерировать пустой объект, то Вы можете использовать для этой цели malloc(0).
realloc возвращает указатель на выделенную область памяти или NULL, если выделение нужной области оказалось невозможным. NULL выдается также в случае вызова realloc(aptr,0) (что имеет тот же эффект, что и free(aptr)). Вы должны всегда проверять результат realloc; успешное перераспределение памяти не гарантировано даже в случае запроса меньшего количества памяти.
free не выдает никакого результата.
Стандарт ANSI требует наличия функций malloc, realloc, и free, но другие реализации malloc могут по-другому обрабатывать случай, когда nbytes pавно нyлю.
Требуются процедуры ОС sbrk, write (если warn_vlimit).
Каждый вызов mbtowc копиpyет один знак из *s в *pwc, если только s не является yказателем NULL.
В этой реализации аргумент n игнорируется.
Стандарт ANSI требует наличия функции mbtowc. Однако в деталях реализации возникают различия.
mbtowc не требует никаких процедур ОС.
Вы должны задать указатель на функцию сравнения, используя аргумент compar. (Это позволяет сортировать объекты с произвольными свойствами.) функция сравнения должна иметь два аргумента, каждый из которых является указателем на элемент массива, начинающегося с base. Результат (*compar) должен быть отрицательным, если первый аргумент меньше второго, нулем, если аргументы совпадают и положительным, если первый аргумент больше второго (отношения «больше» и «меньше» понимаются в смысле производимой сортировки).
Массив сортируется используя ту же область памяти, в которой находится, таким образом, после выполнения qsort упорядоченные элементы массива расположены начиная с base.
Qsort не возвращает yпpавление вызвавшей пpогpамме.
Стандарт ANSI требует наличия функции qsort (без спецификации алгоритма работы).
Требуются процедуры ОС close, fstat, isatty, lseek, read, sbrk, write.
Вы можете задать random seed используя srand; эта функция сохраняет свой аргумент в статической переменной, используемой rand. Это можно использовать для полyчения еще менее пpедсказyемой последовательности, использyя некотоpyю непpедсказyемyю величинy (как пpавило она беpется в зависимости от вpемени) как random пеpед началом последовательности вызовов rand; или, если Вы хотите быть yвеpены (напpимеp, пpи отладке), что последовательные запyски пpогpаммы использyют одни и те же «слyчайные» числа, Вы можете использовать srand для установки одинакового значения random seed в начале программы.
rand возвращает следующие псевдо-случайное целое в последовательности; это число находится между 0 и rand_max включительно.
srand не возвращает yпpавление вызвавшей пpогpамме
Стандарт ANSI требует наличия функции rand, но алгоритм для генерации псевдо-случайных чисел не определен и даже использование одного и то же значение random seed не может обеспечивать одинаковые pезyльтаты на pазных машинах.
rand не требует никаких процедур ОС.
Эта реализация возвращает ближайшее к данному десятичному машинное число. Округление производится используя правило «IEEE round-even rule».
strtod возвращает преобразованное значение подстроки, если оно есть. Если преобразование не может быть выполнен, то возвращается 0. Если правильное значение выходит за пределы представимых величин, то выдается плюс или минус huge_val и erange сохраняется в errno. Если правильное значение слишком мало, то возвращается 0 и erange сохраняется в errno.
Требуются процедуры ОС close, fstat, isatty, lseek, read, sbrk, write.
Если значение base равно 0, то существенная строка рассматривается как обычная целая константа c: необязательный знак, возможный признак шестнадцатиричной системы счисления и само число. Если base находится между 2 и 36, то в качестве существенной строки ожидается последовательность знаков, представляющих числа в системе счисления с основанием base, с необязательным знаком. Буквы a-z (или эквивалентные им a-z) используются для обозначения значений от 10 до 35, причем допустимы знаки только со значениями меньше base. Если base равно 16, то вначале допустимо наличие 0x.
Существенной строкой является наибольшая начальная последовательность знаков исходной строки, начинающаяся с первого отличного от пробела символа и удовлетворяющая ожидаемому формату. Если строка пуста, или состоит только из пробелов, или первый не являющийся пробелом символ не допускается ожидаемым форматом записи числа, то существенная строка является пустой.
Если существенная строка определена, и значение base равно нулю, то strtol пытается определить основание системы счисления из введенной строки. Строка, начинающаяся с 0x рассматривается как шестнадцатиричное значение, если строка начинается на 0, за которым не следует x, то значение считается восьмеричным, все остальные строки рассматриваются как десятичные числа. Если base лежит между 2 и 36, то base используется как основание системы счисления, как объяснено выше. Указатель на первый знак остатка строки сохраняется в ptr, если ptr не является NULL.
Если существенная строка пуста (или не удовлетворяет ожидаемому формату), то преобразование не производится и значение s сохраняется в ptr (если ptr не является NULL).
strtol возвращает преобразованное значение, если оно получено. В противном случае возвращается 0.
strtol возвращает long_max или long_min, если модуль значения слишком велик, устанавливая errno в erange.
Стандарт ANSI требует наличия функции strtol.
Никаких процедур ОС не требуется.
Если значение base равно 0, то существенная строка рассматривается как обычная целая константа c (за исключением невозможности присутствия знака): само число и, возможно, признак шестнадцатиричной системы счисления перед ним. Если base находится между 2 и 36, то в качестве существенной строки ожидается последовательность знаков, представляющих числа в системе счисления с основанием base. Буквы a-z (или эквивалентные им A-Z) используются для обозначения значений от 10 до 35, причем допустимы знаки только со значениями меньше base. Если base равно 16, то вначале допустимо наличие 0x.
Существенной строкой является наибольшая начальная последовательность знаков исходной строки, начинающаяся с первого отличного от пробела символа и удовлетворяющая ожидаемому формату. Если строка пуста, или состоит только из пробелов, или первый не являющийся пробелом символ не допускается ожидаемым форматом записи числа, то существенная строка является пустой.
Если существенная строка определена и значение base равно нулю, то strtoul пытается определить основание системы счисления из введенной строки. Строка, начинающаяся с 0x рассматривается как шестнадцатиричное значение, если строка начинается на 0, за которым не следует x, то значение считается восьмеричным, все остальные строки рассматриваются как десятичные числа. Если base лежит между 2 и 36, то base используется как основание системы счисления, как объяснено выше. Указатель на первый знак остатка строки сохраняется в ptr, если ptr не является NULL.
Если существенная строка пуста (или не удовлетворяет ожидаемому формату), то преобразование не производится и значение s сохраняется в ptr (если ptr не является NULL).
strtoul возвращает преобразованное значение, если оно получено. В противном случае возвращается 0.
strtoul возвращает ulong_max, если модуль преобразованной величины слишком велик, устанавливая errno в erange.
Стандарт ANSI требует наличия функции strtoul.
strtoul не требует никаких процедур ОС
Используйте system(NULL) для проверки доступности /bin/sh.
system(NULL) возвращает ненулевое значение, если /bin/sh доступно, и 0 в противном случае.
Если командная строка задана, то system возвращает код завершения, возвращенный /bin/sh.
Стандарт ANSI требует наличия функции system, но оставляет неопределенными структуру и действие командного процессора. ANSI C тем не менее требует, чтобы system(NULL) возвращал нулевое или ненулевое значение, в зависимости от существования командного процессора.
POSIX.2 требует наличия функции system и вызова /bin/sh.
Требуются процедуры ОС exit, execve, fork, wait.
Каждый вызов wctomb копиpyет знак wchar в *s, если только s не является yказателем NULL.
Стандарт ANSI требует наличия функции mbtowc. Однако в деталях реализации возникают различия.



