FreeBSD Manual Pages
std::fread(3) C++ Standard Libary std::fread(3) NAME std::fread - std::fread Synopsis Defined in header <cstdio> std::size_t fread( void* buffer, std::size_t size, std::size_t count, std::FILE* stream ); Reads up to count objects into the array buffer from the given input stream stream as if by calling std::fgetc size times for each object, and storing the results, in the order obtained, into the successive positions of buffer, which is reinterpreted as an array of unsigned char. The file position indicator for the stream is advanced by the number of characters read. If the objects are not TriviallyCopyable, the behavior is undefined. If an error occurs, the resulting value of the file position indica- tor for the stream is indeterminate. If a partial element is read, its value is indeterminate. Parameters buffer - pointer to the first object in the array to be read size - size of each object in bytes count - the number of the objects to be read stream - input file stream to read from Return value Number of objects read successfully, which may be less than count if an error or end-of-file condition occurs. If size or count is zero, fread returns zero and performs no other action. Example // Run this code #include <iostream> #include <cstdio> #include <fstream> #include <vector> int main() { // prepare file std::ofstream("test.txt") << 1 << ' ' << 2 << '\n'; std::FILE* f = std::fopen("test.txt", "r"); std::vector<char> buf(4); // char is trivally copyable std::fread(&buf[0], sizeof buf[0], buf.size(), f); for(char n : buf) std::cout << n; std::vector<std::string> buf2; // string is not trivially copyable // this would result in undefined behavior // std::fread(&buf2[0], sizeof buf2[0], buf2.size(), f); } Output: 1 2 See also scanf reads formatted input from stdin, a file stream or a buffer fscanf (function) sscanf fgets gets a character string from a file stream (function) fwrite writes to a file (function) http://cppreference.com 2022.07.31 std::fread(3)
NAME | Synopsis | Parameters | Return value | Example | Output: | See also
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::fread&sektion=3&manpath=FreeBSD+Ports+15.0>
