FreeBSD Manual Pages
std::fgets(3) C++ Standard Libary std::fgets(3) NAME std::fgets - std::fgets Synopsis 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 the character array pointed to by str. Parsing stops if a newline char- acter is found, in which case str will contain that newline character, or if end-of- file occurs. If bytes are read and no errors occur, writes a null character at the position immediately after the last character written to str. Parameters str - pointer to an element of a char array count - maximum number of characters to write (typically the length of str) stream - file stream to read the data from Return value str on success, null pointer on failure. If the end-of-file condition is encountered, sets the eof indicator on stream (see std::feof()). This is only a failure if it causes no bytes to be read, in which case a null pointer is returned and the contents of the array pointed to by str are not altered (i.e. the first byte is not overwritten with a null charac- ter). If the failure has been caused by some other error, sets the error indicator (see std::ferror()) on stream. The contents of the array pointed to by str are indeterminate (it may not even be null-terminated). Notes POSIX additionally requires that fgets sets errno if it encounters a failure other than the end-of-file condition. Although the standard specification is unclear in the cases where count<=1, common implementations do * if count < 1, do nothing, report error * if count == 1, * some implementations do nothing, report error, * others read nothing, store zero in str[0], report suc- cess 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) != nullptr) { std::cout << '"' << buf << '"' << '\n'; } } Output: "Alan Tu" "ring " "John vo" "n Neuma" "nn " "Alonzo " "Church " See also scanf reads formatted input from stdin, a file stream or a buffer fscanf (function) sscanf gets reads a character string from stdin (deprecated in C++11) (function) (removed in C++14) fputs writes a character string to a file stream (function) http://cppreference.com 2022.07.31 std::fgets(3)
NAME | Synopsis | Parameters | Return value | Notes | Example | Output: | See also
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::fgets&sektion=3&manpath=FreeBSD+Ports+15.0>
