Section courante

A propos

Section administrative du site

cstdlib (stdlib.h)

Bibliothèque standard
Langage C++

Description

Cette bibliothèque renferme les routines Standard. La bibliothèque de routines Standard contient les fonctions d'allocation dynamique héritées du langage de programmation C. Au coeur se trouvent les fonctions malloc() et free(). Chaque fois que malloc() est appelé, une partie de la mémoire libre restante est allouée. Chaque fois que free() est appelé, la mémoire est renvoyée au système. On appel la mémoire de tas, la région de mémoire libre à partir de laquelle la mémoire est allouée. Les prototypes des fonctions d'allocation dynamique se trouvent dans «cstdlib». Un programme C doit utiliser le fichier d'entête stdlib.h. Tous les compilateurs C++ comprendront au moins ces quatre fonctions d'allocation dynamique : calloc(), malloc(), free() et realloc(). Cependant, votre compilateur contiendra presque certainement plusieurs variantes de ces fonctions pour s'adapter à diverses options et différences environnementales. Vous devrez donc vous référer à la documentation de la marque votre compilateur. Bien que le langage de programmation C++ prenne en charge les fonctions d'allocation dynamique, vous ne les utiliserez généralement pas dans un programme C++. La raison en est que C++ fournit les opérateurs d'allocation dynamique new et delete. L'utilisation des opérateurs d'allocation dynamique présente plusieurs avantages. Tout d'abord, new alloue automatiquement la quantité de mémoire appropriée pour le type de données alloué. Deuxièmement, il renvoie le type de pointeur correct à cette mémoire. Troisièmement, les deux new et delete peuvent être surchargés. Étant donné que new et delete présentent des avantages par rapport aux fonctions d'allocation dynamique basées sur C, leur utilisation est recommandée pour les programmes C++. La bibliothèque de fonctions Standard définit également plusieurs fonctions utilitaires fournissant divers services couramment utilisés. Ils incluent un certain nombre de conversions, le traitement, le tri et la recherche de paramètres de longueur variable et la génération de nombres aléatoires. Dans cet entête sont définis div_t et ldiv_t, étant les types de valeurs renvoyées par div() et ldiv(), respectivement. Le type size_t, étant la valeur non signée renvoyée par sizeof, est également défini.

Liste des fonctions

Nom Prototype Description
ABORT void abort(void) Cette procédure permet d'interrompre l'exécution du programme de façon anormale.
ABS int abs(int a) Cette fonction retourne la valeur absolue.
ATEXIT int atexit(void (*ptrfonction)(void)) Cette fonction doit être appelée à la fin d'un programme pour le terminer.
ATOF double atof(const char *str) Cette fonction convertie une chaîne de caractères en une valeur «float».
ATOI int atoi(const char *str) Cette fonction convertie une chaîne de caractères en une valeur entière «int».
ATOL long atol(const char *str) Cette fonction convertie une chaîne de caractères en une valeur entière «long».
BSEARCH void *bsearch(const void *key,const void *base, size_t num, size_t width, int(*compare)(const void *elem1,const void void *elem2)) Cette fonction effectue une recherche binaire (dichotomique) dans un tableau.
CALLOC void *calloc(size_t n,size_t taille) Cette fonction permet d'effectuer une réservation de n*taille d'octets de mémoire dynamique.
DIV div_t div(int a,int b) Cette fonction permet retourne le quotient et le reste séparément en effectuant la division a par b.
EXIT void exit(int etat) Cette procédure met fin à l'exécution d'un programme avec une valeur de retour.
FREE void free(void *pointeurbloc) Cette procédure permet de libérer un bloc de mémoire.
GETENV int getenv(const char *vnom) Cette fonction effectue la lecture d'un variable d'environnement système.
LABS long labs(long a) Cette fonction retourne la valeur absolue d'un entier de type «long».
LDIV ldiv_t ldiv(long a,long b) Cette fonction retourne le reste et le quotient séparément en effectuant de division de a par b.
MALLOC void *malloc(size_t n) Cette fonction permet une allocation de mémoire dynamique de «n» octets.
MBLEN int mblen(const char *s, size_t n); Cette fonction permet de retourner la longueur d'une chaîne de caractères de format Unicode ou multi-octets.
MBSTOWCS size_t mbstowcs(wchar_t *dest, const char *src, size_t n); Cette fonction permet de convertir une chaîne de caractères de format multi-octets en Unicode.
MBTOWC int mbtowc(wchar_t *pwc, const char *s, size_t n); Cette fonction permet de convertir une chaîne de caractères de format multi-octets en Unicode.
QSORT void qsort(void *tableau,size_t n,size_t taille,int (*comp)(const void *px1,const void *px2) Cette procédure permet d'effectuer un tri d'un tableau avec la méthode «QuickSort».
RAND int rand(void) Cette fonction retourne un nombre pseudo-aléatoire entier.
REALLOC void *realloc(void *tampon,size_t taille) Cette fonction permet de changer la taille d'un bloc de mémoire dynamique.
SRAND void srand(unsigned s) Cette procédure initialise le générateur de nombre aléatoire.
STRTOD double strtod(const char *str1,char **fin) Cette fonction permet de convertir la chaîne de caractères en nombre de type «double».
STRTOL long strtol(const char *str1,char **fin,int base) Cette fonction permet de convertir la chaîne de caractères en nombre de type «long».
STRTOUL unsigned long strtoul(const char *str1,char **fin,int base) Cette fonction permet de convertir la chaîne de caractères en nombre de type non-signée «long».
SYSTEM int system(const char *commande) Cette fonction permet de lancer une commande dans le système d'exploitation.
WCSTOMBS size_t wcstombs(char *s, const wchar_t *pwcs, size_t n); Cette fonction permet d'effectuer la conversion d'une chaîne de caractères étendue en une chaîne de caractères de format multi-octets.
WCTOMB int wctomb(char *s, wchar_t wchar); Cette fonction permet d'effectuer la conversion d'un caractère étendue en un caractère de format multi-octets.

Liste des macros

Nom Description
EXIT_FAILURE Cette macro permet d'indiquer la valeur renvoyée au processus appelant si la fin du programme échoue.
EXIT_SUCCESS Cette macro permet d'indiquer la Valeur renvoyée au processus appelant si la fin du programme réussit.
NULL Cette macro permet d'indiquer un pointeur nul.
RAND_MAX Cette macro permet d'indiquer une valeur maximale pouvant être renvoyée par la fonction rand().

Liste des structures de données

Nom Description
DIV_T Cette structure de données permet d'indiquer la valeur de résultat d'une division intégrale effectuée par la fonction div.
LDIV_T Cette structure de données permet d'indiquer la valeur de résultat d'une division intégrale effectuée par la fonction ldiv et div.


Dernière mise à jour : Lundi, le 3 août 2015