Namespaces
Variants
Views
Actions

std::fgets

From cppreference.com
< cpp‎ | io‎ | c
Revision as of 23:00, 31 May 2013 by P12bot (Talk | contribs)

 
 
 
 
Defined in header <cstdio>
char *fgets( char *str, int count, FILE *stream );

Reads at most count - 1 characters from the given file stream and stores them in str. The produced character string is always NULL-terminated. Parsing stops if end-of-file occurs or a newline character is found, in which case str will contain that newline character.

Contents

Parameters

str - string to read the characters to
count - the length of str
stream - file stream to read the data from

Return value

str on success, NULL on an error

Example

#include <iostream>
#include <cstdio>
#include <cstdlib>
 
int main()
{
    FILE* tmpf = std::tmpfile();
    std::fputs("Alan Turing\n", tmpf);
    std::fputs("John von Neumann\n", tmpf);
    std::fputs("Alonzo Church\n", tmpf);
 
    std::rewind(tmpf);
    char buf[8];
    while (std::fgets(buf, sizeof buf, tmpf) != NULL) {
        std::cout << '"' << buf << '"' << '\n';
    }
}

Output:

"Alan Tu"
"ring
"
"John vo"
"n Neuma"
"nn
"
"Alonzo "
"Church
"

See also

reads formatted input from stdin, a file stream or a buffer
(function) [edit]
reads a character string from stdin(until C++14)
(function) [edit]
writes a character string to a file stream
(function) [edit]
C documentation for fgets