:: RootR ::  Hosting Order Map Login   Secure Inter-Network Operations  
 
getline(3) - phpMan

Command: man perldoc info search(apropos)  


GETLINE(3)                          Linux Programmer's Manual                          GETLINE(3)



NAME
       getline, getdelim - delimited string input

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);

   Feature Test Macro Requirements for glibc (see feature_test_macros(7)):

       getline(), getdelim():
           Since glibc 2.10:
               _POSIX_C_SOURCE >= 200809L || _XOPEN_SOURCE >= 700
           Before glibc 2.10:
               _GNU_SOURCE

DESCRIPTION
       getline()  reads  an entire line from stream, storing the address of the buffer containing
       the text into *lineptr.  The buffer is null-terminated and includes the newline character,
       if one was found.

       If *lineptr is set to NULL and *n is set 0 before the call, then getline() will allocate a
       buffer for storing the line.  This buffer should be freed by the user program even if get‐
       line() failed.

       Alternatively,  before  calling  getline(),  *lineptr  can  contain  a  pointer  to a mal‐
       loc(3)-allocated buffer *n bytes in size.  If the buffer is not large enough to  hold  the
       line, getline() resizes it with realloc(3), updating *lineptr and *n as necessary.

       In  either case, on a successful call, *lineptr and *n will be updated to reflect the buf‐
       fer address and allocated size respectively.

       getdelim() works like getline(), except that a line delimiter other than  newline  can  be
       specified  as  the  delimiter  argument.   As with getline(), a delimiter character is not
       added if one was not present in the input before end of file was reached.

RETURN VALUE
       On success, getline() and getdelim() return the number of characters read,  including  the
       delimiter  character,  but not including the terminating null byte ('\0').  This value can
       be used to handle embedded null bytes in the line read.

       Both functions return -1 on failure to read a line (including end-of-file condition).   In
       the event of an error, errno is set to indicate the cause.

ERRORS
       EINVAL Bad arguments (n or lineptr is NULL, or stream is not valid).

CONFORMING TO
       Both  getline()  and getdelim() were originally GNU extensions.  They were standardized in
       POSIX.1-2008.

EXAMPLE
       #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 :\n", read);
               printf("%s", line);
           }

           free(line);
           fclose(fp);
           exit(EXIT_SUCCESS);
       }

SEE ALSO
       read(2), fgets(3), fopen(3), fread(3), scanf(3)

COLOPHON
       This page is part of release 3.74 of the Linux man-pages project.  A  description  of  the
       project,  information  about  reporting  bugs, and the latest version of this page, can be
       found at http://www.kernel.org/doc/man-pages/.



GNU                                         2014-08-19                                 GETLINE(3)


/man
rootr.net - man pages