FreeBSD Manual Pages
std::basic_istream::sync(3) C++ Standard Libary std::basic_istream::sync(3) NAME std::basic_istream::sync - std::basic_istream::sync Synopsis int sync(); Synchronizes the input buffer with the associated data source. Behaves as UnformattedInputFunction, except that gcount() is not af- fected. After constructing and checking the sentry object, if rdbuf() is a null pointer, returns -1 Otherwise, calls rdbuf()->pubsync(). If that function returns -1, calls setstate(badbit) and returns -1. Otherwise, returns 0. Parameters (none) Return value 0 on success, -1 on failure or if the stream does not support this operation (is unbuffered). Notes As with readsome(), it is implementation-defined whether this func- tion does anything with library-supplied streams. The intent is typically for the next read operation to pick up any changes that may have been made to the associated in- put sequence after the stream buffer last filled its get area. To achieve that, sync() may empty the get area, or it may refill it, or it may do nothing. A notable exception is Visual Studio, where this operation discards the unprocessed input when called with a standard input stream. Example Demonstrates the use of input stream sync() with file input, as im- plemented on some platforms. // Run this code #include <iostream> #include <fstream> void file_abc() { std::ofstream f("test.txt"); f << "abc\n"; } void file_123() { std::ofstream f("test.txt"); f << "123\n"; } int main() { file_abc(); // file now contains "abc" std::ifstream f("test.txt"); std::cout << "Reading from the file\n"; char c; f >> c; std::cout << c; file_123(); // file now contains "123" f >> c; std::cout << c; f >> c; std::cout << c << '\n'; f.close(); file_abc(); // file now contains "abc" f.open("test.txt"); std::cout << "Reading from the file, with sync()\n"; f >> c; std::cout << c; file_123(); // file now contains "123" f.sync(); f >> c; std::cout << c; f >> c; std::cout << c << '\n'; } Possible output: Reading from the file abc Reading from the file, with sync() a23 See also sync synchronizes the buffers with the associated character se- quence [virtual] (virtual protected member function of std::basic_stream- buf<CharT,Traits>) flush synchronizes with the underlying storage device (public member function of std::basic_os- tream<CharT,Traits>) http://cppreference.com 2022.07.31 std::basic_istream::sync(3)
NAME | Synopsis | Parameters | Return value | Notes | Example | Possible output: | See also
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::istream::sync&sektion=3&manpath=FreeBSD+Ports+15.0>
