getdelim man page on CentOS

Man page or keyword search:  
man Server   8420 pages
apropos Keyword Search (all sections)
Output format
CentOS logo
[printable version]

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

NAME
       getline, getdelim - delimited string input

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

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

       If  *lineptr is NULL, then getline() will allocate a buffer for storing
       the line, which should be freed by the  user  program.	Alternatively,
       before  calling	getline(),  *lineptr  can  contain a pointer to a mal‐
       loc()-allocated buffer *n bytes in size. If the	buffer	is  not	 large
       enough  to hold the line, getline() resizes it with realloc(), updating
       *lineptr and *n as necessary. In either case,  on  a  successful	 call,
       *lineptr and *n will be updated to reflect the buffer address and allo‐
       cated size respectively.

       getdelim() works like getline(), except 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	termi‐
       nating  null byte. 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).

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

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);
	    }
	    if (line)
		 free(line);
	    return EXIT_SUCCESS;
       }

CONFORMING TO
       Both  getline()	and getdelim() are GNU extensions.  They are available
       since libc 4.6.27.

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

GNU				  2006-05-17			    GETLINE(3)
[top]

List of man pages available for CentOS

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net