Provided by: manpages-fr-dev_3.27fr1.4-1_all bug

NOM

       getcwd,  getwd, get_current_dir_name - Obtenir le repertoire courant de
       travail

SYNOPSIS

       #include <unistd.h>

       char *getcwd(char *buf, size_t size);

       char *getwd(char *buf);

       char *get_current_dir_name(void);

   Exigences de macros de test de fonctionnalites  pour  la  glibc  (consultez
   feature_test_macros(7)) :

       get_current_dir_name() :
              _GNU_SOURCE

       getwd() :
           Depuis la glibc 2.12 :
               _BSD_SOURCE ||
                   (_XOPEN_SOURCE >= 500 ||
                       _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED) &&
                   !(_POSIX_C_SOURCE >= 200809L || _XOPEN_SOURCE >= 700)
           Avant la glibc 2.12 : _BSD_SOURCE || _XOPEN_SOURCE >= 500 ||
               _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED

DESCRIPTION

       Ces fonctions renvoient une chaine terminee par une octet nul contenant
       un chemin absolu correspondant  au  repertoire  de  travail  actuel  du
       processus appelant. Le chemin est renvoye comme resultat de la fonction
       et par le parametre buf, s'il est present.

       La fonction getcwd() copie le chemin d'acces absolu  du  repertoire  de
       travail  courant  dans  la  chaine pointee par buf, qui est de longueur
       size.

       Si la taille du chemin  absolu  du  repertoire  de  travail  en  cours,
       caractere  nul de fin compris, depasse size octets, la fonction renvoie
       NULL et errno contient le code d'erreur ERANGE.  Une  application  doit
       detecter cette erreur et allouer un tampon plus grand si besoin est.

       Comme une extension du standard POSIX.1-2001, la version  Linux (libc4,
       libc5,  glibc)  de  getcwd()  alloue  le  tampon   dynamiquement   avec
       malloc(3), si buf est NULL. Dans ce cas, le tampon alloue a la longueur
       size a moins que size soit egal a zero, auquel cas buf est alloue  avec
       la  taille  necessaire.  L'appelant doit liberer avec free(3) le tampon
       renvoye.

       get_current_dir_name() allouera avec malloc(3) une chaine  suffisamment
       grande  pour  contenir le nom du chemin absolu du repertoire de travail
       courant.  Si  la  variable  d'environnement  PWD  est  configuree,   et
       correcte,  cette  valeur  sera  renvoyee.  L'appelant doit liberer avec
       free(3) le tampon renvoye.

       getwd() n'allouera aucune memoire (avec malloc(3)).  Le  parametre  buf
       doit  etre  un  pointeur  sur  une  chaine comportant au moins PATH_MAX
       octets. Si la longueur  du  chemin  absolu  du  repertoire  de  travail
       actuel, caractere nul de fin compris, depasse PATH_MAX octets, NULL est
       renvoye et errno prend la valeur ENAMETOOLONG. Notez que  sur  certains
       systeme,   PATH_MAX  peut  ne  pas  etre  une  constante  connue  a  la
       compilation ; de plus, sa valeur peut dependre du systeme de  fichiers,
       voire  etre  illimitee,  consultez  pathconf(3).  Pour  des  raisons de
       portabilite et de securite, l'utilisation de getwd() est deconseillee.

VALEUR RENVOY'EE

       En cas de succes, ces fonctions renvoient un pointeur vers  une  chaine
       contenant le chemin du repertoire de travail en courant. Dans le cas de
       getcwd() et getwd() il s'agit de la meme valeur que buf.

       En cas d'echec, ces fonctions renvoient NULL, et remplissent errno avec
       le  code d'erreur. Le contenu de la chaine pointee par buf est indefini
       en cas d'erreur.

ERREURS

       EACCES Impossible de lire  ou  de  parcourir  un  composant  du  chemin
              d'acces.

       EFAULT buf pointe sur une adresse illegale.

       EINVAL L'argument size vaut zero et buf n'est pas un pointeur NULL.

       EINVAL getwd() : buf est NULL.

       ENAMETOOLONG
              getwd() :  La taille de la chaine, terminee par un octet nul, du
              chemin absolu depasse PATH_MAX octets.

       ENOENT Le repertoire en cours a ete supprime.

       ERANGE Le parametre size est inferieur a la longueur du nom  du  chemin
              absolu  du  repertoire de travail, caractere nul de fin compris.
              Allouez un tampon plus grand et reessayez.

CONFORMIT'E

       getcwd() se conforme a POSIX.1-2001. Notez cependant  que  POSIX.1-2001
       laisse le comportement de getcwd() non specifie si buf est NULL.

       getwd()  est  present  dans  POSIX.1-2001,  mais  marquee << LEGACY >>.
       POSIX.1-2008 supprime la specification de getwd()  et  POSIX.1-2001  ne
       definit aucune erreur pour getwd(). Utilisez getcwd() a la place.

       get_current_dir_name() est une extension GNU.

NOTES

       Sous  Linux,  la  fonction  getcwd()  est  un  appel systeme (depuis le
       2.1.92).  Sur   des   systemes   plus   anciens,   elle   interrogerait
       /proc/self/cwd.  Si l'appel systeme et le systeme de fichiers proc sont
       absents,  une  implementation  generique  est  utilisee.  Dans  ce  cas
       seulement la fonction peut renvoyer EACCES sous Linux.

       Ces  fonctions  sont  souvent  utilisees  pour  sauver le repertoire de
       travail afin d'y  revenir  plus  tard.  Ouvrir  le  repertoire  courant
       (<< . >>)  et  appeler  fchdir(2) pour y revenir est habituellement une
       alternative plus rapide et plus fiable (surtout sur  d'autres  systemes
       que Linux) si l'on dispose de suffisamment de descripteurs de fichier.

VOIR AUSSI

       chdir(2), fchdir(2), open(2), unlink(2), free(3), malloc(3)

COLOPHON

       Cette  page  fait  partie  de  la  publication 3.27 du projet man-pages
       Linux. Une description du projet et des instructions pour signaler  des
       anomalies       peuvent       etre       trouvees      a      l'adresse
       <URL:http://www.kernel.org/doc/man-pages/>.

TRADUCTION

       Depuis 2010, cette traduction est maintenue a l'aide  de  l'outil  po4a
       <URL:http://po4a.alioth.debian.org/>   par   l'equipe   de   traduction
       francophone       au       sein        du        projet        perkamon
       <URL:http://perkamon.alioth.debian.org/>.

       Christophe  Blaess  <URL:http://www.blaess.fr/christophe/> (1996-2003),
       Alain Portal <URL:http://manpagesfr.free.fr/>  (2003-2006).   Florentin
       Duneau et l'equipe francophone de traduction de Debian (2006-2009).

       Veuillez   signaler   toute   erreur   de   traduction  en  ecrivant  a
       <debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
       paquet manpages-fr.

       Vous  pouvez  toujours avoir acces a la version anglaise de ce document
       en utilisant la commande << man -L C <section> <page_de_man> >>.