Accès rapide :
Présentation de l'entête <limits.h>
Exemple d'utilisation
Eléments fournis par la librairie <limits.h>
L'entête <limits.h>, ou <climits> en C++, expose les limites des types entiers
fondamentaux du langage C. Il permet notamment de savoir jusqu'ou peuvent aller un int, un
long, un char ou encore un long long.
POSIX réutilise aussi cet entête pour publier de nombreuses limites de ressources : longueur maximale d'un chemin,
nombre maximal de descripteurs, taille d'une page, nombre de groupes supplémentaires, etc. Certaines de ces valeurs
peuvent varier à l'exécution ; dans ce cas, les fonctions sysconf, pathconf et
fpathconf sont souvent plus adaptées.
Pour utiliser ces macros, il suffit d'inclure l'entête suivant.
#include <limits.h> // <climits> en C++
L'exemple suivant affiche quelques limites entières courantes.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
#include <limits.h> #include <stdio.h> #include <stdlib.h> int main() { printf( "CHAR_BIT == %d\n", CHAR_BIT ); printf( "INT_MIN == %d\n", INT_MIN ); printf( "INT_MAX == %d\n", INT_MAX ); printf( "LONG_MAX == %ld\n", LONG_MAX ); printf( "ULLONG_MAX == %llu\n", ULLONG_MAX ); return EXIT_SUCCESS; } |
Sur une plate-forme courante, vous pouvez obtenir un affichage proche de celui-ci.
CHAR_BIT == 8 INT_MIN == -2147483648 INT_MAX == 2147483647 LONG_MAX == 9223372036854775807 ULLONG_MAX == 18446744073709551615
| Nom | Depuis | Description |
|---|---|---|
CHAR_BIT, INT_MIN, LONG_MAX... |
C89/C99 | Macros de limites associees aux types entiers historiques du langage C. |
INT_WIDTH, LONG_WIDTH, BITINT_MAXWIDTH... |
C23 | Macros indiquant la largeur, en bits, de certains types entiers. |
ARG_MAX, OPEN_MAX, STREAM_MAX... |
POSIX | Limites POSIX liées aux ressources d'exécution, aux threads, aux signaux et aux utilitaires. |
NAME_MAX, PATH_MAX, PIPE_BUF... |
POSIX | Limites POSIX liées aux chemins, aux fichiers et aux terminaux. |
_POSIX_*, _POSIX2_*, _XOPEN_* |
POSIX | Valeurs minimales portables garanties par POSIX. |
SSIZE_MAX, LONG_BIT, NL_ARGMAX... |
POSIX | Autres limites POSIX fournies par l'entété. |
Améliorations / Corrections
Vous avez des améliorations (ou des corrections) à proposer pour ce document : je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.
Emplacement :
Description des améliorations :