Participer au site avec un Tip
Rechercher
 

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 :

Vous êtes un professionnel et vous avez besoin d'une formation ? Programmation avec
Le langage C
Voir le programme détaillé

Les limites POSIX de chemins et fichiers

Les limites POSIX d'exécution Les valeurs minimales POSIX


Entête à inclure

#include <limits.h>  // <climits> en C++

Macros POSIX

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.

MacroDepuisDescription
FILESIZEBITS POSIX Nombre de bits necessaires pour représenter la taille maximale d'un 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.

Exemple de code

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;
}
Lecture d'une limite de chemin

Un affichage possible est :

PATH_MAX == 4096
_PC_PATH_MAX == 4096

Sujets connexes

<limits.h>
Limites POSIX d'exécution
Limites POSIX de chemins
Valeurs minimales POSIX
Autres limites POSIX
Presentation du standard POSIX


Les limites POSIX d'exécution Les valeurs minimales POSIX




Vous êtes un professionnel et vous avez besoin d'une formation ? Programmation avec
Le langage C
Voir le programme détaillé