Bibliothèque standard
Contenu de la bibliothèque standard
La première colonne correspond au type d’usage que l’on fait de l’entité dont le nom figure en deuxième colonne : T correspond à type, C à constante, V à valeur, F à fonction et M à macro. Je parle là d’usage : les constantes sont en vérité définies comme des macros, et certaines fonctions peuvent l’être également. La distinction principale entre une fonction et une « macro » telle que j’emploie le terme ici est qu’il faut faire attention à ne pas inclure d’effet de bord dans les expressions passées en arguments à une macro, celle-ci pouvant les évaluer plusieurs fois, ce qui serait inattendu et incontrôlable, donc catastrophique.
Définitions usuelles (<stddef.h>)
T |
ptrdiff_t |
différence (en octets) de deux pointeurs |
T |
size_t |
taille d’objets contigus en mémoire |
T |
wchar_t |
caractère étendu (souvent, Unicode) |
C |
NULL |
constante de pointeur nul |
M |
offsetof |
position (en octets) d’un membre dans une structure |
Capacité des types entiers (<limits.h>)
C |
CHAR_BIT |
nombre de bits dans un octet |
C |
SCHAR_MIN |
valeur minimale d’un signed char (-127 ou moins) |
C |
SCHAR_MAX |
valeur maximale d’un signed char (127 ou plus) |
C |
UCHAR_MAX |
valeur maximale d’un unsigned char (255 ou plus) |
C |
CHAR_MIN |
valeur minimale d’un char ; vaut SCHAR_MIN ou 0 |
C |
CHAR_MAX |
valeur maximale d’un char ; vaut SCHAR_MAX ou UCHAR_MAX |
C |
SHRT_MIN |
valeur minimale d’un short (-32767 ou moins) |
C |
SHRT_MAX |
valeur maximale d’un short (32767 ou plus) |
C |
USHRT_MAX |
valeur maximale d’un unsigned short (65535 ou plus) |
C |
INT_MIN |
valeur minimale d’un int (-32767 ou moins) |
C |
INT_MAX |
valeur maximale d’un int (32767 ou plus) |
C |
UINT_MAX |
valeur maximale d’un unsigned int (65535 ou plus) |
C |
LONG_MIN |
valeur minimale d’un long (-2147483647 ou moins) |
C |
LONG_MAX |
valeur maximale d’un long (2147483647 ou plus) |
C |
ULONG_MAX |
valeur maximale d’un unsigned long (4294967295 ou plus) |
C |
MB_LEN_MAX |
nombre maximal d’octets par caractère polyoctet |
Propriétés des types flottants (<float.h>)
C |
FLT_RADIX |
base de l’exposant (2 ou plus) |
C |
FLT_MANT_DIG |
nombre de chiffres significatifs en base FLT_RADIX d’un float |
C |
FLT_MIN_EXP |
exposant minimal en base FLT_RADIX d’un float |
C |
FLT_MAX_EXP |
exposant maximal en base FLT_RADIX d’un float |
C |
FLT_DIG |
nombre de chiffres significatifs en base 10 d’un float (6 ou plus) |
C |
FLT_MIN_10_EXP |
exposant minimal en base 10 d’un float (-37 ou moins) |
C |
FLT_MAX_10_EXP |
exposant minimal en base 10 d’un float (37 ou moins) |
C |
FLT_EPSILON |
différence entre 1 et le float supérieur le plus proche (1e-5 ou moins) |
C |
FLT_MIN |
valeur absolue minimale d’un float (1e-37 ou moins) |
C |
FLT_MAX |
valeur absolue maximale d’un float (1e37 ou plus) |
C |
DBL_MANT_DIG |
nombre de chiffres significatifs en base FLT_RADIX d’un double |
C |
DBL_MIN_EXP |
exposant minimal en base FLT_RADIX d’un double |
C |
DBL_MAX_EXP |
exposant maximal en base FLT_RADIX d’un double |
C |
DBL_DIG |
nombre de chiffres significatifs en base 10 d’un double (10 ou plus) |
C |
DBL_MIN_10_EXP |
exposant minimal en base 10 d’un double (-37 ou moins) |
C |
DBL_MAX_10_EXP |
exposant minimal en base 10 d’un double (37 ou moins) |
C |
DBL_EPSILON |
différence entre 1 et le double supérieur le plus proche (1e-5 ou moins) |
C |
DBL_MIN |
valeur absolue minimale d’un double (1e-37 ou moins) |
C |
DBL_MAX |
valeur absolue maximale d’un double (1e37 ou plus) |
C |
LDBL_MANT_DIG |
nombre de chiffres significatifs en base FLT_RADIX d’un long double |
C |
LDBL_MIN_EXP |
exposant minimal en base FLT_RADIX d’un long double |
C |
LDBL_MAX_EXP |
exposant maximal en base FLT_RADIX d’un long double |
C |
LDBL_DIG |
nombre de chiffres significatifs en base 10 d’un long double (10 ou plus) |
C |
LDBL_MIN_10_EXP |
exposant minimal en base 10 d’un long double (-37 ou moins) |
C |
LDBL_MAX_10_EXP |
exposant minimal en base 10 d’un long double (37 ou moins) |
C |
LDBL_EPSILON |
différence entre 1 et le long double supérieur le plus proche (1e-9 ou moins) |
C |
LDBL_MIN |
valeur absolue minimale d’un long double (1e-37 ou moins) |
C |
LDBL_MAX |
valeur absolue maximale d’un long double (1e37 ou plus) |
Opérations sur les chaînes de caractères (<string.h>)
Opérations sur les zones de mémoire
F |
memset |
remplit une zone de mémoire par répétition d’un octet |
F |
memcpy |
copie un zone de mémoire dans une zone disjointe |
F |
memmove |
copie un zone de mémoire dans une autre |
F |
memcmp |
compare une zone de mémoire à une autre |
F |
memchr |
première occurrence d’un octet dans une zone |
Opérations sur les chaînes
F |
strlen |
longueur d’une chaîne |
F |
strcpy |
copie une chaîne dans une zone de mémoire |
F |
strncpy |
copie une chaîne limitée en longueur dans une zone de mémoire |
F |
strcat |
concatène une chaîne à la suite d’une autre |
F |
strncat |
concatène une chaîne limitée en longueur à la suite d’une autre |
F |
strcmp |
compare deux chaînes |
F |
strncmp |
compare deux chaînes limitées en longueur |
F |
strcoll |
compare deux chaînes en tenant compte des paramètres régionaux |
F |
strxfrm |
met une chaîne sous une forme « normale » |
F |
strchr |
première occurrence d’un caractère dans une chaîne |
F |
strrchr |
dernière occurrence d’un caractère dans une chaîne |
F |
strpbrk |
première occurrence d’un caractère d’un ensemble de caractères donné |
F |
strspn |
longueur du préfixe maximal constitué de caractères d’un ensemble de caractères donné |
F |
strcspn |
longueur du préfixe maximal sans caractère d’un ensemble de caractères donné |
F |
strstr |
première occurrence d’une chaîne dans une autre |
F |
strtok |
découpage d’une chaîne à chaque caractères d’un ensemble donné |
F |
strerror |
chaîne décrivant un code d’erreur |
Divers
T |
size_t |
voyez stddef.h |
C |
NULL |
voyez stddef.h |
Classification des caractères (<ctype.h>)
M |
isprint |
teste si un caractère a un glyphe |
M |
isgraph |
teste si un caractère a un glyphe, non blanc |
M |
isalnum |
teste si un caractère est une lettre ou un chiffre |
M |
isalpha |
teste si un caractère est une lettre |
M |
isupper |
teste si un caractère est une lettre majuscule |
M |
islower |
teste si un caractère est une lettre minuscule |
M |
isdigit |
teste si un caractère est un chiffre |
M |
isxdigit |
teste si un caractère est un chiffre hexadécimal |
M |
ispunct |
teste si un caractère est un signe de ponctuation |
M |
isspace |
teste si un caractère est une sorte d’espace |
M |
iscntrl |
teste si un caractère est un caractère de contrôle |
M |
tolower |
convertit un caractère en minuscule |
M |
toupper |
convertit un caractère en majuscule |
Fonctions mathématiques (<math.h>)
Sous les systèmes de type Unix, il faut lier le programme avec la bibliothèque -lm.
F |
fabs |
valeur absolue |
F |
fmod |
reste |
F |
ceil |
plafond |
F |
floor |
plancher |
F |
modf |
parties entières et fractionnaires |
F |
cos |
cosinus |
F |
sin |
sinus |
F |
tan |
tangente |
F |
acos |
arc cosinus |
F |
asin |
arc sinus |
F |
atan |
arc tangente |
F |
atan2 |
arc tangente de deux variables avec ajustement du cadrant |
F |
exp |
exponentielle |
F |
cosh |
cosinus hyperbolique |
F |
sinh |
sinus hyperbolique |
F |
tanh |
tangente hyperbolique |
F |
log |
logarithme népérien |
F |
log10 |
logarithme en base 10 |
F |
pow |
puissance |
F |
sqrt |
racine carrée |
F |
frexp |
décomposition en fraction normalisée en base 2 |
F |
ldexp |
produit par une puissance de 2 |
C |
HUGE_VAL |
valeur représentant un dépassement de capacité |
Entrées, sorties et manipulations de fichiers (<stdio.h>)
Opérations sur les fichiers
C |
FILENAME_MAX |
taille recommandée d’un tableau contenant un nom de fichier |
C |
L_tmpnam |
taille requise d’un tableau pour un nom de fichier temporaire |
C |
TMP_MAX |
minimum garanti de noms de fichier temporaires uniques |
F |
remove |
supprime un fichier |
F |
rename |
renomme (déplace) un fichier |
F |
tmpnam |
génère un nom de fichier temporaire |
Opérations sur les flux
T |
FILE |
flux d’entrée ou de sortie |
T |
fpos_t |
position dans un fichier ; pour fgetpos et fsetpos |
C |
FOPEN_MAX |
minimum garanti de fichiers pouvant être ouverts simultanément |
C |
EOF |
indicateur de fin d’erreur ou de fin de fichier |
V |
stdin |
flux entran standard (souvent, la console) |
V |
stdout |
flux sortant standard (souvent, la console) |
V |
stderr |
flux sortant pour les erreurs (souvent, la console) |
F |
tmpfile |
ouvre un flux temporaire |
F |
fopen |
ouvre un fichier |
F |
fclose |
ferme un flux |
F |
freopen |
rouvre un fichier |
F |
feof |
différencie une fin de fichier d’une erreur |
F |
ferror |
différencie une erreur d’une fin de fichier |
F |
clearerr |
suppression de l’indicateur d’erreur sur un flux |
F |
ftell |
position actuelle du curseur d’un flux |
F |
fseek |
déplace le curseur dans un flux |
F |
rewind |
déplace le curseur d’un flux au début |
C |
SEEK_SET |
point de référence pour fseek : début du flux |
C |
SEEK_CUR |
point de référence pour fseek : position actuelle |
C |
SEEK_END |
point de référence pour fseek : fin du flux |
F |
fgetpos |
position étendue du curseur (fpos_t) |
F |
fsetpos |
déplace le curseur à une position étendue (fpos_t) |
F |
setbuf |
active l’emploi d’un tampon complet pour un flux |
F |
setvbuf |
décide de l’emploi d’un tampon pour un flux |
C |
_IOFBF |
mode pour setvbuf : emploi d’un tampon complet |
C |
_IOLBF |
mode pour setvbuf : emploi d’un tampon pour une ligne |
C |
_IONBF |
mode pour setvbuf : emploi d’aucun tampon |
C |
BUFSIZ |
taille par défaut du tampon |
F |
fflush |
force la synchronisation d’un flux sortant avec son support |
Opérations d’entrée et de sortie
F |
fgetc |
lit un caractère |
M |
getc |
version macro de fgetc ; lit un caractère |
M |
getchar |
lit un caractère sur stdin |
F |
fputc |
écrit un caractère |
M |
putc |
version macro de fputc; écrit un caractère |
M |
putchar |
écrit un caractère sur stdout |
F |
ungetc |
ajoute un caractère à lire au début d’un flux entrant |
F |
fgets |
lit une ligne |
F |
fputs |
écrit une chaîne de caractères |
F |
puts |
écrit une chaîne de caractères et retour à la ligne sur stdout |
F |
fread |
lit par blocs |
F |
fwrite |
écrit par blocs |
F |
fscanf |
lit selon un format |
F |
scanf |
lit selon un format sur stdin |
F |
fprintf |
écrit selon un format |
F |
printf |
écrit selon un format sur stdout |
F |
vfprintf |
écrit selon un format avec une va_list |
F |
vprintf |
écrit selon un format avec une va_list sur stdin |
F |
sscanf |
lit selon un format depuis une chaîne |
F |
sprintf |
écrit selon un format, dans une chaîne |
F |
vsprintf |
écrit selon un format, dans une chaîne, avec une va_list |
F |
perror |
écrit un message d’erreur associé à la valeur d’errno |
Divers
T |
size_t |
voyez stddef.h |
C |
NULL |
voyez stddef.h |
F |
gets |
dangereuse |
gets n’aura pas plus de description. Si vous aviez une vraie raison vous poussant à l’utiliser (et je n’en vois aucune), vous n’auriez pas besoin de moi pour vous la rappeler.
Utilitaires généraux (<stdlib.h>)
Interaction avec l’environnement
F |
abort |
abandonne (termine brutalement) le programme |
F |
atexit |
enregistre une fonction à exécuter en fin de programme |
F |
exit |
termine l’exécution du programme |
C |
EXIT_FAILURE |
code pour exit : échec |
C |
EXIT_SUCCESS |
code pour exit : réussite |
F |
getenv |
récupère une variable d’environnement par son nom |
F |
system |
exécute une commande au shell |
Gestion de la mémoire
F |
malloc |
alloue un bloc de mémoire |
F |
calloc |
alloue un tableau dont les bits sont initialisés à 0 |
F |
free |
libère de la mémoire précédemment allouée |
F |
realloc |
change la taille d’un bloc de mémoire |
Utilitaires
T |
div_t |
type de retour de div |
T |
ldiv_t |
type de retour de ldiv |
F |
abs |
valeur absolue d’un int |
F |
labs |
valeur absolue d’un long |
F |
div |
division euclidienne d’int |
F |
ldiv |
division euclidienne de long |
F |
strtol |
convertit un nombre sous forme textuelle en long |
F |
strtoul |
convertit un nombre sous forme textuelle en unsigned long |
F |
strtod |
convertit un nombre sous forme textuelle en double |
F |
atoi |
convertit un nombre sous forme textuelle en int |
F |
atol |
convertit un nombre sous forme textuelle en long |
F |
atof |
convertit un nombre sous forme textuelle en float |
F |
qsort |
trie un tableau |
F |
bsearch |
recherche dans un tableau trié |
Chaînes de caractères polyoctets
V |
MB_CUR_MAX |
nombre maximal d’octets par caractère polyoctet avec les paramètres régionaux en vigueur |
F |
mblen |
longueur d’un caractère polyoctet |
F |
mbtowc |
convertit un caractère polyoctet en caractère étendu |
F |
wctomb |
convertit un caractère étendu en caractère polyoctet |
F |
mbstowcs |
convertit une chaîne de caractères polyoctets en chaîne de caractères étendus |
F |
wcstombs |
convertit une chaîne de caractères étendus en chaîne de caractères polyoctets |
Nombres aléatoires
C |
RAND_MAX |
nombre maximal pouvant être généré par rand |
F |
srand |
initialise le générateur aléatoire |
F |
rand |
génère un entier aléatoire |
Divers
T |
size_t |
voyez stddef.h |
T |
wchar_t |
voyez stddef.h |
C |
NULL |
voyez stddef.h |
Dates et heures (<time.h>)
T |
time_t |
type arithmétique représentant le temps écoulé depuis l’Époque |
T |
struct tm |
date et heure sous forme décomposée |
T |
clock_t |
nombre de battements renvoyés par clock |
C |
CLOCKS_PER_SEC |
nombre de battements renvoyés par clock par seconde |
F |
time |
instant présent |
F |
difftime |
nombre de secondes entre deux time_t |
F |
mktime |
crée un time_t à partir d’un struct tm |
F |
gmtime |
décompose un time_t en un struct tm selon l’heure <acronyme valeur="">GMT</acronyme> |
F |
localtime |
décompose un time_t en un struct tm selon l’heure locale |
F |
strftime |
écrit un struct tm selon un format, dans une chaîne |
F |
ctime |
convertit un time_t en représentation textuelle |
F |
asctime |
convertit un struct tm en représentation textuelle |
F |
clock |
compteur temporel usant d’une unité arbitraire |
T |
size_t |
voyez stddef.h |
C |
NULL |
voyez stddef.h |
Diagnostic (<assert.h>)
M |
NDEBUG |
supprime les appels à assert si défini |
M |
assert |
abandon conditionnel du programme avec message d’erreur |
Gestion des erreurs du système (<errno.h>)
V |
errno |
en cas d’erreur, expression la décrivant |
C |
EDOM |
valeur possible d’errno : erreur mathématique de domaine |
C |
ERANGE |
valeur possible d’errno : erreur mathématique d’intervalle |
Gestion des signaux (<signal.h>)
T |
sig_atomic_t |
type entier muni d’opérations atomiques |
F |
raise |
émet un signal |
F |
signal |
enregistre une action à effectuer à la réception d’un signal |
C |
SIGABRT |
signal d’abandon du programme |
C |
SIGFPE |
signal d’erreur de calcul flottant |
C |
SIGILL |
signal d’instruction illégale |
C |
SIGINT |
signal interactif |
C |
SIGSEGV |
signal d’erreur d’accès à la mémoire |
C |
SIGTERM |
signal de terminaison extérieure du programme |
C |
SIG_DFL |
action pour signal : action par défaut |
C |
SIG_IGN |
action pour signal : ignore un signal reçu |
C |
SIG_ERR |
valeur indicant une erreur |
Considérations régionales (<locale.h>)
T |
struct lconv |
paramètres régionaux |
C |
LC_ALL |
catégorie pour setlocale : toute catégorie |
C |
LC_COLLATE |
catégorie pour setlocale : ordre des caractères |
C |
LC_CTYPE |
catégorie pour setlocale : classification des caractères |
C |
LC_MONETARY |
catégorie pour setlocale : système monétaire |
C |
LC_NUMERIC |
catégorie pour setlocale : nombres |
C |
LC_TIME |
catégorie pour setlocale : dates et heures |
F |
setlocale |
change ou examine la locale en vigueur |
F |
localeconv |
informations sur l’écriture des nombres |
C |
NULL |
voyez stddef.h |
Gestion des listes d’arguments variables (<stdarg.h>)
T |
va_list |
liste d’arguments variable |
M |
va_start |
début d’itération sur une liste d’arguments variable |
M |
va_arg |
prochain argument dans une liste d’arguments variable |
M |
va_end |
fin d’itération sur une liste d’arguments variable |
Sauts inter-procéduraux (<setjmp.h>)
T |
jmp_buf |
informations contextuelles pour les sauts |
F |
setjmp |
sous certaines réserves, sauvegarde le contexte actuel |
F |
longjmp |
téléporte vers un contexte sauvegardé |
Créé avec HelpNDoc Personal Edition: Créer des fichiers d'aide pour la plateforme Qt Help