Namespaces
Variants

Standard library header <cstdlib>

From cppreference.net
Standard library headers

Cet en-tête était à l'origine dans la bibliothèque standard C sous le nom de <stdlib.h> .

Cet en-tête fournit des utilitaires divers. Les symboles définis ici sont utilisés par plusieurs composants de la bibliothèque.

Table des matières

Types

type de structure, retourné par std::div
(typedef)
type de structure, retourné par std::ldiv
(typedef)
(C++11)
type de structure, retourné par std::lldiv
(typedef)
type entier non signé retourné par l'opérateur sizeof
(typedef)

Constantes de macro

indique le statut d'exécution du programme
(constante macro)
MB_CUR_MAX
nombre maximum d'octets dans un caractère multioctet avec la locale actuelle
(macro constante)
constante de pointeur nul définie par l'implémentation
(constante macro)
valeur maximale possible générée par std::rand
(constante macro)

Fonctions

Contrôle de processus
provoque la fin anormale du programme (sans nettoyage)
(fonction)
provoque la fin normale du programme avec nettoyage
(fonction)
(C++11)
provoque l'arrêt rapide du programme sans nettoyage complet
(fonction)
(C++11)
provoque la fin normale du programme sans nettoyage
(fonction)
enregistre une fonction à appeler lors std::exit() de l'invocation
(fonction)
enregistre une fonction à appeler lors de std::quick_exit invocation
(fonction)
appelle le processeur de commandes de l'environnement hôte
(fonction)
accès à la liste des variables d'environnement
(fonction)
Gestion de la mémoire
alloue de la mémoire
(fonction)
alloue de la mémoire alignée
(fonction)
alloue et initialise à zéro la mémoire
(fonction)
étend ou réduit un bloc de mémoire précédemment alloué
(fonction)
désalloue la mémoire précédemment allouée
(fonction)
Conversion numérique de chaînes
convertit une chaîne d'octets en une valeur à virgule flottante
(fonction)
convertit une chaîne d'octets en une valeur entière
(fonction)
convertit une chaîne d'octets en une valeur entière
(fonction)
convertit une chaîne d'octets en une valeur entière non signée
(fonction)
convertit une chaîne d'octets en une valeur à virgule flottante
(fonction)
Manipulation de chaînes larges
retourne le nombre d'octets dans le prochain caractère multioctet
(fonction)
convertit le prochain caractère multi-octet en caractère large
(fonction)
convertit un caractère large en sa représentation multioctet
(fonction)
convertit une chaîne de caractères multioctets étroite en chaîne large
(fonction)
convertit une chaîne large en chaîne de caractères multioctets étroite
(fonction)
Algorithmes et mathématiques divers
génère un nombre pseudo-aléatoire
(fonction)
initialise le générateur de nombres pseudo-aléatoires
(fonction)
trie une plage d'éléments de type non spécifié
(fonction)
recherche un élément de type non spécifié dans un tableau
(fonction)
calcule la valeur absolue d'une valeur entière ( |x| )
(fonction)
calcule le quotient et le reste d'une division entière
(fonction)

Synopsis

namespace std {
  using size_t =  /* voir description */; // autonome
  using div_t =   /* voir description */; // autonome
  using ldiv_t =  /* voir description */; // autonome
  using lldiv_t = /* voir description */; // autonome
}
#define NULL         /* voir description */ // freestanding
#define EXIT_FAILURE /* voir description */ // freestanding
#define EXIT_SUCCESS /* voir description */ // freestanding
#define RAND_MAX     /* voir description */
#define MB_CUR_MAX   /* voir description */
namespace std {
  // Alias de types de fonctions uniquement à des fins d'exposition
  extern "C" using /* gestionnaire de sortie c */ = void(); // exposition uniquement
  extern "C++" using /* gestionnaire atexit */ = void(); // exposition uniquement
  extern "C" using /* c-compare-pred */ =           // exposition uniquement
    int(const void*, const void*);
  extern "C++" using /* compare-pred */ =           // exposition uniquement
    int(const void*, const void*);
  // début et fin
  [[noreturn]] void abort() noexcept;                       // autonome
  int atexit(/* gestionnaire c-atexit */* func) noexcept;        // autonome
  int atexit(/* gestionnaire atexit */* func) noexcept;          // autonome
  int at_quick_exit(/* gestionnaire c-atexit */* func) noexcept; // autonome
  int at_quick_exit(/* gestionnaire atexit */* func) noexcept;   // autonome
  [[noreturn]] void exit(int status);                       // autonome
  [[noreturn]] void _Exit(int status) noexcept;             // autonome
  [[noreturn]] void quick_exit(int status) noexcept;        // autonome
  char* getenv(const char* name);
  int system(const char* string);
  // Allocation de mémoire de la bibliothèque C
  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);
  // fonctions de conversion de chaînes et caractères multioctets / larges
  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);
  // Algorithmes de la bibliothèque standard C
  void* bsearch(const void* key, const void* base,  // autonome
                size_t nmemb, size_t size, /* c-compare-pred */* compar);
  void* bsearch(const void* key, const void* base,  // autonome
                size_t nmemb, size_t size, /* comparateur-prédicat */* compar);
  void qsort(void* base, size_t nmemb, size_t size, // autonome
             /* c-compare-pred */* compar);
  void qsort(void* base, size_t nmemb, size_t size, // autonome
             /* comparateur-prédicat */* compar);
  // génération de nombres aléatoires de faible qualité
  int rand();
  void srand(unsigned int seed);
  // valeurs absolues
  constexpr int abs(int j);                       // autonome
  constexpr long int abs(long int j);             // autonome
  constexpr long long int abs(long long int j);   // autonome
  constexpr /* type à virgule flottante */
    abs(/* type à virgule flottante */ j);             // freestanding-deleted
  constexpr long int labs(long int j);            // autonome
  constexpr long long int llabs(long long int j); // autonome
  constexpr div_t div(int numer, int denom);                         // autonome
  constexpr ldiv_t div(long int numer, long int denom);              // autonome
  constexpr lldiv_t div(long long int numer, long long int denom);   // autonome
  constexpr ldiv_t ldiv(long int numer, long int denom);             // autonome
  constexpr lldiv_t lldiv(long long int numer, long long int denom); // autonome
}

Rapports de défauts

Les rapports de défauts modifiant le comportement suivants ont été appliqués rétroactivement aux normes C++ précédemment publiées.

DR Applicable à Comportement publié Comportement corrigé
LWG 286 C++98 la définition de size_t n'était pas fournie dans <cstdlib> fournie

Voir aussi