Spec-Zone.ru › C++

Стандартная библиотека заголовок <cstdlib>

Этот заголовок изначально находился в стандартной библиотеке C как <stdlib.h>.

Этот заголовок предоставляет различные утилиты. Символы, определённые здесь, используются несколькими компонентами библиотеки.

Типы

div_t
тип структуры, возвращаемый std::div
(typedef)
ldiv_t
тип структуры, возвращаемый std::ldiv
(typedef)
lldiv_t
(C++11)
тип структуры, возвращаемый std::lldiv
(typedef)
size_t
целочисленный тип без знака, возвращаемый оператором sizeof
(typedef)

Макроконстанты

EXIT_SUCCESSEXIT_FAILURE
указывает статус выполнения программы
(макроконстанта)
MB_CUR_MAX
максимальное количество байтов в многобайтовом символе с текущей локалью
(макроконстанта)
NULL
константа указателя на ноль, определённая реализацией
(макроконстанта)
RAND_MAX
максимальное возможное значение, генерируемое std::rand
(макроконстанта)

Функции

Управление процессом
abort
вызывает аварийную остановку программы (без очистки)
(функция)
exit
вызывает нормальную остановку программы с очисткой
(функция)
quick_exit
(C++11)
вызывает быструю остановку программы без полной очистки
(функция)
_Exit
(C++11)
вызывает нормальную остановку программы без очистки
(функция)
atexit
регистрирует функцию, которая будет вызвана при std::exit() вызове
(функция)
at_quick_exit
(C++11)
регистрирует функцию, которая будет вызвана при std::quick_exit вызове
(функция)
system
вызывает командный процессор среды выполнения хоста
(функция)
getenv
доступ к списку переменных среды
(функция)
Управление памятью
malloc
выделяет память
(функция)
aligned_alloc
(C++17)
выделяет выровненную память
(функция)
calloc
выделяет и обнуляет память
(функция)
realloc
расширяет или сжимает ранее выделенный блок памяти
(функция)
free
освобождает ранее выделенную память
(функция)
Преобразование числовых строк
atof
преобразует строку байтов в значение с плавающей точкой
(функция)
atoiatolatoll
(C++11)
преобразует строку байтов в целочисленное значение
(функция)
strtolstrtoll
(C++11)
преобразует строку байтов в целочисленное значение
(функция)
strtoulstrtoull
(C++11)
преобразует строку байтов в значение целого без знака
(функция)
strtofstrtodstrtold
преобразует строку байтов в значение с плавающей точкой
(функция)
Обработка широких строк
mblen
возвращает количество байтов в следующем многобайтовом символе
(функция)
mbtowc
преобразует следующий многобайтовый символ в символ широкого типа
(функция)
wctomb
преобразует символ широкого типа в его многобайтовое представление
(функция)
mbstowcs
преобразует строку многобайтовых символов в строку широкого типа
(функция)
wcstombs
преобразует строку широкого типа в строку многобайтовых символов
(функция)
Разнообразные алгоритмы и математические функции
rand
генерирует псевдослучайное число
(функция)
srand
задаёт начальное значение для генератора псевдослучайных чисел
(функция)
qsort
сортирует диапазон элементов неопределённого типа
(функция)
bsearch
ищет элемент в массиве неопределённого типа
(функция)
abs(int)labsllabs
(C++11)
вычисляет абсолютное значение целого значения (\(\small{|x|}\)|x|)
(функция)
div(int)ldivlldiv
(C++11)
вычисляет частное и остаток от целочисленного деления
(функция)

Синопсис

namespace std {
  using size_t =  /* see description */; // freestanding
  using div_t =   /* see description */; // freestanding
  using ldiv_t =  /* see description */; // freestanding
  using lldiv_t = /* see description */; // freestanding
}
 
#define NULL         /* see description */ // freestanding
#define EXIT_FAILURE /* see description */ // freestanding
#define EXIT_SUCCESS /* see description */ // freestanding
#define RAND_MAX     /* see description */
#define MB_CUR_MAX   /* see description */
 
namespace std {
  // Exposition-only function type aliases
  extern "C" using /* c-atexit-handler */ = void(); // exposition only
  extern "C++" using /* atexit-handler */ = void(); // exposition only
  extern "C" using /* c-compare-pred */ =           // exposition only
    int(const void*, const void*);
  extern "C++" using /* compare-pred */ =           // exposition only
    int(const void*, const void*);
 
  // start and termination
  [[noreturn]] void abort() noexcept;                       // freestanding
  int atexit(/* c-atexit-handler */* func) noexcept;        // freestanding
  int atexit(/* atexit-handler */* func) noexcept;          // freestanding
  int at_quick_exit(/* c-atexit-handler */* func) noexcept; // freestanding
  int at_quick_exit(/* atexit-handler */* func) noexcept;   // freestanding
  [[noreturn]] void exit(int status);                       // freestanding
  [[noreturn]] void _Exit(int status) noexcept;             // freestanding
  [[noreturn]] void quick_exit(int status) noexcept;        // freestanding
 
  char* getenv(const char* name);
  int system(const char* string);
 
  // C library memory allocation
  void* aligned_alloc(size_t alignment, size_t size);
  void* calloc(size_t nmemb, size_t size);
  void free(void* ptr);
  void* malloc(size_t size);
  void* realloc(void* ptr, size_t size);
 
  double atof(const char* nptr);
  int atoi(const char* nptr);
  long int atol(const char* nptr);
  long long int atoll(const char* nptr);
  double strtod(const char* nptr, char** endptr);
  float strtof(const char* nptr, char** endptr);
  long double strtold(const char* nptr, char** endptr);
  long int strtol(const char* nptr, char** endptr, int base);
  long long int strtoll(const char* nptr, char** endptr, int base);
  unsigned long int strtoul(const char* nptr, char** endptr, int base);
  unsigned long long int strtoull(const char* nptr, char** endptr, int base);
 
  // multibyte / wide string and character conversion functions
  int mblen(const char* s, size_t n);
  int mbtowc(wchar_t* pwc, const char* s, size_t n);
  int wctomb(char* s, wchar_t wchar);
  size_t mbstowcs(wchar_t* pwcs, const char* s, size_t n);
  size_t wcstombs(char* s, const wchar_t* pwcs, size_t n);
 
  // C standard library algorithms
  void* bsearch(const void* key, const void* base,  // freestanding
                size_t nmemb, size_t size, /* c-compare-pred */* compar);
  void* bsearch(const void* key, const void* base,  // freestanding
                size_t nmemb, size_t size, /* compare-pred */* compar);
  void qsort(void* base, size_t nmemb, size_t size, // freestanding
             /* c-compare-pred */* compar);
  void qsort(void* base, size_t nmemb, size_t size, // freestanding
             /* compare-pred */* compar);
 
  // low-quality random number generation
  int rand();
  void srand(unsigned int seed);
 
  // absolute values
  constexpr int abs(int j);                       // freestanding
  constexpr long int abs(long int j);             // freestanding
  constexpr long long int abs(long long int j);   // freestanding
  constexpr /* floating-point-type */
    abs(/* floating-point-type */ j);             // freestanding-deleted
 
  constexpr long int labs(long int j);            // freestanding
  constexpr long long int llabs(long long int j); // freestanding
 
  constexpr div_t div(int numer, int denom);                         // freestanding
  constexpr ldiv_t div(long int numer, long int denom);              // freestanding
  constexpr lldiv_t div(long long int numer, long long int denom);   // freestanding
  constexpr ldiv_t ldiv(long int numer, long int denom);             // freestanding
  constexpr lldiv_t lldiv(long long int numer, long long int denom); // freestanding
}

Отчеты об ошибках

Следующие отчеты об ошибках, меняющие поведение, были применены ретроактивно к ранее опубликованным стандартам C++.

DR Применимо к Поведение, как опубликовано Правильное поведение
LWG 286 C++98 определение size_t не было предоставлено в <cstdlib> предоставлено

См. также

  • Утилиты поддержки программ
  • Генерация псевдослучайных чисел
  • Общие математические функции
  • Математические специальные функции
  • Библиотека управления памятью C
  • Строки байтов с нулевым завершением
  • Строки многобайтовых символов с нулевым завершением
  • Библиотека алгоритмов

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/header/cstdlib

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API