GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
std::ios_base::sync_with_stdio(3) C++ Standard Libary std::ios_base::sync_with_stdio(3)

std::ios_base::sync_with_stdio - std::ios_base::sync_with_stdio


static bool sync_with_stdio( bool sync = true );


Sets whether the standard C++ streams are synchronized to the standard C streams
after each input/output operation.


The standard C++ streams are the following: std::cin, std::cout, std::cerr,
std::clog, std::wcin, std::wcout, std::wcerr and std::wclog


The standard C streams are the following: stdin, stdout and stderr


For a standard stream str, synchronized with the C stream f, the following pairs of
functions have identical effect:


1) std::fputc(f, c) and str.rdbuf()->sputc(c)
2) std::fgetc(f) and str.rdbuf()->sbumpc()
3) std::ungetc(c, f) and str.rdbuf()->sputbackc(c)


In practice, this means that the synchronized C++ streams are unbuffered, and each
I/O operation on a C++ stream is immediately applied to the corresponding C stream's
buffer. This makes it possible to freely mix C++ and C I/O.


In addition, synchronized C++ streams are guaranteed to be thread-safe (individual
characters output from multiple threads may interleave, but no data races occur)


If the synchronization is turned off, the C++ standard streams are allowed to buffer
their I/O independently, which may be considerably faster in some cases.


By default, all eight standard C++ streams are synchronized with their respective C
streams.


If this function is called after I/O has occurred on the standard stream, the
behavior is implementation-defined: implementations range from no effect to
destroying the read buffer.


sync - the new synchronization setting


synchronization state before the call to the function

// Run this code


#include <iostream>
#include <cstdio>


int main()
{
std::ios::sync_with_stdio(false);
std::cout << "a\n";
std::printf("b\n");
std::cout << "c\n";
}


b
a
c


cout writes to the standard C output stream stdout
wcout (global object)
cerr writes to the standard C error stream stderr, unbuffered
wcerr (global object)
clog writes to the standard C error stream stderr
wclog (global object)

2022.07.31 http://cppreference.com

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.