Votre IP: 38.107.179.243 
  
 
Google
 
Accueil e-mail Linux
Linux
Perl
Perl
C
Langage C
Dico
Dictionnaire
Biblio liens
Bibliothèque de liens
Index articles
Index articles
 

Date création : 27-03-2008 20:23:44

Linux  Vous êtes dans : GNU/Linux Astuces / Pages man [Section3 - Sous-fonctions]


GETLINE

 

Index

  1. NOM
  2. SYNOPSIS
  3. DESCRIPTION
  4. VALEUR RENVOYÉE
  5. ERREURS
  6. EXEMPLE
  7. CONFORMITÉ À
  8. VOIR AUSSI
  9. TRADUCTION

 

NOMIndex

getline, getdelim - Saisie de chaîne délimitée  

SYNOPSISIndex

#define _GNU_SOURCE
#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);
 

DESCRIPTIONIndex

getline() lit une ligne entière dans stream et stocke l'adresse du tampon contenant le texte dans *lineptr. Le tampon se termine par un caractère nul et inclut le caractère saut-de-ligne, si un tel séparateur a été trouvé.
Si *lineptr est NULL, la routine getline() alloue un tampon pour recevoir la ligne. Ce tampon devra être libéré par le programme utilisateur. Alternativement, avant d'appeler getline(), *lineptr peut contenir un pointeur vers un tampon de *n octets alloué par malloc(). Si le tampon n'est pas suffisant pour recevoir la ligne saisie, getline() le redimensionnera avec realloc(), mettant à jour *lineptr et *n comme il se doit. Quoi qu'il en soit, en cas de succès, *lineptr et *n seront mis à 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 séparateur différent de saut-de-ligne peut être spécifié en tant qu'argument delimiter. Tout comme avec getline(), aucun séparateur n'est ajouté s'il n'y en avait pas dans l'entrée avant que la fin du fichier ne soit atteinte.  

VALEUR RENVOYÉEIndex

En cas de succès, getline() et getdelim() renvoient le nombre de caractères lus, séparateur inclus, mais sans compter le zéro terminal. Cette valeur peut être utilisée afin de traiter les caractères nuls insérés dans la ligne lue.
Les deux fonctions renvoient -1 en cas d'échec de lecture de la ligne (condition de fin de fichier incluse).  

ERREURSIndex

EINVAL
Paramètres erronés (n ou lineptr valent NULL, ou bien stream n'est pas valide).
 

EXEMPLEIndex

#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("Retrieved line of length %zu :
", read);
                printf("%s", line);
        }
        if (line)
                free(line);
        return EXIT_SUCCESS;
}
 

CONFORMITÉ ÀIndex

getline() tout comme getdelim() sont des extensions GNU. Elles sont disponibles depuis la libc 4.6.27.  

VOIR AUSSIIndex

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

TRADUCTIONIndex

Cette page de manuel a été traduite par Stéphan Rafin <stephan DOT rafin AT laposte DOT net> en 2002, puis a été mise à jour par Alain Portal <aportal AT univ-montp2 DOT fr> jusqu'en 2006.
La traduction de cette page de manuel est basée sur les traductions disponibles sur http://manpagesfr.free.fr/, mais est gérée par l'équipe francophone de traduction de Debian au travers de la liste de discussion debian-l10n-french.
Veuillez signaler toute erreur de traduction par un rapport de bogue sur le paquet manpages-fr.
Vous pouvez toujours avoir accès à la version anglaise de ce document en utilisant la commande « man -L C <section> <page_de_man> ».


Création : octobre 2007  © Tous droits réservés 2007 linux-perl-c
Valid HTML 4.01 TransitionalValid CSS