std::ios_base::sync_with_stdio

来自cppreference.com

 
 
输入/输出库
I / O操纵
C-风格的I / O
缓冲区
Original:
Buffers
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
basic_streambuf
basic_filebuf
basic_stringbuf
strstreambuf(过时了)
Original:
Streams
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
抽象
Original:
Abstractions
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
ios_base
basic_ios
basic_istream
basic_ostream
basic_iostream
文件I / O
Original:
File I/O
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
basic_ifstream
basic_ofstream
basic_fstream
字符串I / O
Original:
String I/O
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
basic_istringstream
basic_ostringstream
basic_stringstream
阵列的I / O
Original:
Array I/O
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
istrstream(过时了)
ostrstream(过时了)
strstream(过时了)
类型
Original:
Types
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
streamoff
streamsize
fpos
Error类的接口
Original:
Error category interface
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
iostream_category(C++11)
io_errc(C++11)
 
std::ios_base
成员函数
Original:
Member functions
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
ios_base::ios_base
ios_base::~ios_base
格式化
Original:
Formatting
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
ios_base::flags
ios_base::setf
ios_base::unsetf
ios_base::precision
ios_base::width
语言环境
Original:
Locales
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
ios_base::imbue
ios_base::getloc
内部可扩展的阵列
Original:
Internal extensible array
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
ios_base::xalloc
ios_base::iword
ios_base::pword
杂项
Original:
Miscellaneous
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
ios_base::register_callback
ios_base::sync_with_stdio
会员类别
Original:
Member classes
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
ios_base::failure
ios_base::Init
会员类型
Original:
Member types
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
ios_base::openmode
ios_base::fmtflags
ios_base::iostate
ios_base::seekdir
ios_base::event
ios_base::event_callback
 
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:

1) std::fputc(f, c) and str.rdbuf()->sputc(c)
2) std::fgetc(f) and str.rdbuf()->sbumpc(c)
3) 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.

目录

[编辑] 参数

sync - the new synchronization setting

[编辑] 返回值

synchronization state before the call to the function

[编辑] 为例

#include <iostream>
#include <cstdio>
int main()
{
    std::cout.sync_with_stdio(false);
    std::cout << "a\n";
    std::printf("b\n");
    std::cout << "c\n";
}

Output:

b
a
c

[编辑] 另请参阅

写入标准C的输出流stdout
(全局对象)
Original:
writes to the standard C output stream stdout
(全局对象)
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
[edit]
写入标准的C错误流stderr,unbuffered
(全局对象)
Original:
writes to the standard C error stream stderr, unbuffered
(全局对象)
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
[edit]
写入标准的C错误流stderr
(全局对象)
Original:
writes to the standard C error stream stderr
(全局对象)
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
[edit]