#include <limits.h> // <climits> en C++
Ces macros concernent les noms de fichiers, les chemins, les tubes, les terminaux et certains transferts de fichiers. Plusieurs de ces limites peuvent dépendre du système de fichiers ou du répertoire visé ; pathconf et fpathconf sont alors plus précis.
| Macro | Depuis | Description |
|---|---|---|
FILESIZEBITS |
POSIX | Nombre de bits necessaires pour représenter la taille maximale d'un fichier. |
LINK_MAX |
POSIX | Nombre maximal de liens vers un meme fichier. |
MAX_CANON |
POSIX | Nombre maximal d'octets dans une ligne canonique de terminal. |
MAX_INPUT |
POSIX | Nombre maximal d'octets disponibles dans la file d'entree d'un terminal. |
NAME_MAX |
POSIX | Nombre maximal d'octets dans un nom de fichier, hors nul terminal. |
PATH_MAX |
POSIX | Nombre maximal d'octets dans un chemin, nul terminal compris. |
PIPE_BUF |
POSIX | Nombre maximal d'octets ecrits atomiquement dans un tube. |
POSIX_ALLOC_SIZE_MIN |
POSIX | Taille minimale réellement allouee pour une portion de fichier. |
POSIX_REC_INCR_XFER_SIZE |
POSIX | Increment recommande pour les transferts de fichiers. |
POSIX_REC_MAX_XFER_SIZE |
POSIX | Taille maximale recommandee pour les transferts de fichiers. |
POSIX_REC_MIN_XFER_SIZE |
POSIX | Taille minimale recommandee pour les transferts de fichiers. |
POSIX_REC_XFER_ALIGN |
POSIX | Alignement recommande pour les tampons de transfert. |
SYMLINK_MAX |
POSIX | Nombre maximal d'octets dans un lien symbolique. |
Le bloc suivant montre une maniere simple de consulter quelques limites, en tenant compte du fait que certaines valeurs peuvent aussi être demandées à l'exécution.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
#include <limits.h> #include <stdio.h> #include <stdlib.h> #include <unistd.h> int main() { #ifdef PATH_MAX printf( "PATH_MAX == %ld\n", (long) PATH_MAX ); #endif long runtimePathMax = pathconf( ".", _PC_PATH_MAX ); printf( "_PC_PATH_MAX == %ld\n", runtimePathMax ); return EXIT_SUCCESS; } |
Un affichage possible est :
PATH_MAX == 4096 _PC_PATH_MAX == 4096
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 :