std::fgets
From cppreference.com
| Defined in header <cstdio>
|
||
| char* fgets( char* str, int count, std::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 |
[edit] Parameters
| str | - | string to read the characters to |
| count | - | the length of str
|
| stream | - | file stream to read the data from |
[edit] Return value
str on success, NULL on failure.
If the failure has been caused by end of file condition, additionally sets the eof indicator (see std::feof()) on stdin. If the failure has been caused by some other error, sets the error indicator (see std::ferror()) on stdin.
[edit] Example
Run this code
#include <iostream> #include <cstdio> #include <cstdlib> int main() { std::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 "
[edit] See also
| reads formatted input from stdin, a file stream or a buffer (function) | |
| reads a character string from stdin(until C++14) (function) | |
| writes a character string to a file stream (function) | |
| C documentation for fgets
| |