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

NOM

       getline, getdelim - Saisie de chaine delimitee

SYNOPSIS

       #include <stdio.h>

       ssize_t getline(char **lineptr, size_t *n, FILE *stream);

       ssize_t getdelim(char **lineptr, size_t *n, int delim, FILE *stream);

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

       getline(), getdelim() :
           Depuis la glibc 2.10 :
               _POSIX_C_SOURCE >= 200809L || _XOPEN_SOURCE >= 700
           Avant la glibc 2.10 :
               _GNU_SOURCE

DESCRIPTION

       getline() lit une ligne entiere dans  stream  et  stocke  l'adresse  du
       tampon  contenant  le  texte dans *lineptr. Le tampon se termine par un
       caractere  nul  et  inclut  le  caractere  saut-de-ligne,  si  un   tel
       separateur a ete trouve.

       Si  *lineptr  est  NULL,  la  routine getline() allouera un tampon pour
       sauver  la  ligne.  Ce  tampon  devra  etre  libere  par  le  programme
       utilisateur (dans ce cas, la valeur dans *n est ignoree).

       Alternativement,  avant  d'appeler getline(), *lineptr peut contenir un
       pointeur vers un tampon de *n octets alloue par malloc(3). Si le tampon
       n'est   pas  suffisant  pour  sauver  la  ligne  saisie,  getline()  le
       redimensionnera avec realloc(3), mettant a jour *lineptr et *n comme il
       se doit.

        Quoi qu'il en soit, en cas de succes, *lineptr et *n seront mis a jour
       afin de rendre compte respectivement de l'adresse et de  la  taille  du
       tampon.

       getdelim()  fonctionne  comme  getline(),  si ce n'est qu'un separateur
       different de saut-de-ligne  peut  etre  specifie  en  tant  qu'argument
       delimiter.  Tout  comme  avec  getline(), aucun separateur n'est ajoute
       s'il n'y en avait pas dans l'entree avant que la fin du fichier ne soit
       atteinte.

VALEUR RENVOY'EE

       En  cas  de  succes,  getline()  et  getdelim()  renvoient le nombre de
       caracteres lus, separateur inclus, mais sans compter le zero  terminal.
       Cette  valeur  peut  etre  utilisee afin de traiter les caracteres nuls
       inseres dans la ligne lue.

       Les deux fonctions renvoient -1 en cas d'echec de lecture de  la  ligne
       (condition de fin de fichier incluse).

ERREURS

       EINVAL Parametres  errones  (n  ou  lineptr valent NULL, ou bien stream
              n'est pas valide).

VERSIONS

       Ces fonctions sont presentes depuis la libc 4.6.27.

CONFORMIT'E

       getline() tout comme getdelim() sont des extensions GNU. Elles ont  ete
       standardisees dans POSIX.1-2008.

EXEMPLE

       #define _GNU_SOURCE
       #include <stdio.h>
       #include <stdlib.h>

       int
       main(void)
       {
           FILE *fp;
           char *line = NULL;
           size_t len = 0;
           ssize_t read;

           fp = fopen("/etc/motd", "r");
           if (fp == NULL)
               exit(EXIT_FAILURE);

           while ((read = getline(&line, &len, fp)) != -1) {
               printf("Reception d'une ligne de longueur %zu :\n", read);
               printf("%s", line);
           }

           free(line);
           exit(EXIT_SUCCESS);
       }

VOIR AUSSI

       read(2),    fgets(3),    fopen(3),    fread(3),    gets(3),   scanf(3),
       feature_test_macros(7)

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/>.

       Stephan          Rafin          (2002),          Alain           Portal
       <URL:http://manpagesfr.free.fr/> (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> >>.