gpt4 book ai didi

c++ - 是否有更多的输出缓冲区?

转载 作者:行者123 更新时间:2023-11-30 00:56:05 28 4
gpt4 key购买 nike

是否有更多的输出缓冲区?如果是这样,endl 是否只刷新与 cout 关联的输出缓冲区?如果只有一个缓冲区,那么是什么让这两个对象 cerrclog 截然不同?

最佳答案

endl 刷新您将其流式传输到的任何流的输出缓冲区。例如:

cout << ... << endl;   // flushes the output buffer of 'cout'
cerr << ... << endl; // flushes the output buffer of 'cerr'
ofstream file("filename");
file << ... << endl; // flushes the output buffer of 'file'

cerrclog 的唯一区别是clog 默认有缓冲,而cerr 没有.您可以使用 std::unitbufstd::nounitbuf 操纵器为任何流打开或关闭缓冲。例如:

cerr << nounitbuf;   // cerr is now buffered
clog << unitbuf; // clog is now unbuffered

请注意,“unitbuf”的意思是“使缓冲区大小为 1”,即关闭缓冲。

关于c++ - 是否有更多的输出缓冲区?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10972997/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com