std::ios_base::sync_with_stdio
|
|
This page has been machine-translated from the English version of the wiki using Google Translate.
The translation may contain errors and awkward wording. Hover over text to see the original version. You can help to fix errors and improve the translation. For instructions click here. |
<metanoindex/>
<tbody> </tbody> static bool sync_with_stdio( bool sync = true ); |
||
Sets whether the standard std::cin, std::cout, std::cerr, std::clog, std::wcin, std::wcout, std::wcerr and std::wclog C++ streams are synchronized to the standard stdin, stdout, stderr and stdlog C streams after each input/output operation.
For a standard stream str, synchronized with the C stream f, the following pairs of functions have identical effect:
std::fputc(f, c) and str.rdbuf()->sputc(c)std::fgetc(f) and str.rdbuf()->sbumpc(c)std::ungetc(c, f) and str.rdbuf()->sputbackc(c)
In practice, this means that the C++ and the C streams use the same buffer, and therefore, can be mixed freely. 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.
It is implementation-defined if this function has any effect if called after some I/O occurred on the standard stream.
Parâmetros
| sync | - | the new synchronization setting |
Valor de retorno
synchronization state before the call to the function
Exemplo
#include <iostream>
#include <cstdio>
int main()
{
std::cout.sync_with_stdio(false);
std::cout << "a\n";
std::printf("b\n");
std::cout << "c\n";
}
Saída:
b
a
c
Veja também
grava o padrão de fluxo de saída stdout
(objeto global) C Original: writes to the standard C output stream stdout (objeto global) The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. | |
grava o fluxo de erro padrão C stderr, unbuffered
(objeto global) Original: writes to the standard C error stream stderr, unbuffered (objeto global) The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. | |
escreve para o padrão stderr
(objeto global) fluxo de erro C Original: writes to the standard C error stream stderr (objeto global) The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |