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