c++流和c流
c++ 流 和 c 流
标准的
c++
流默认与其相对应的c
流同步:( 在每次输入/输出后同步 )同步的
c++
流 无缓冲,每次c++
流上的$I/O$操作都立即应用到对应 C 流的缓冲区。这使得能自由地混合 C++ 与 C $I/O$ 。若关闭同步,则允许 C++ 标准流独立地缓冲其 I/O ,可认为这在某些情况下更快。
1
2
3
4
5
6
7
8
9
10#include <iostream>
#include <cstdio>
int main()
{
std::ios::sync_with_stdio(false);
std::cout << "a\n";
std::printf("b\n");
std::cout << "c\n";
}
- 关闭同步后没有下面的操作也没啥用
std::endl
与\n
的差别std::endl = \n + flush()
插入换行符且刷新缓冲区
一旦构造
std::cin
,std::cin.tie()
就返回&std::cout
一旦初始化,则
std::cout
被tie()
到std::cin
std::cin
读入之前会强制调用std::cout.flush()
为了避免频繁的刷新缓冲区,解除`std::cin`和`std::cout`的绑定 `std::cin.tie()` `std::cout.tie()`
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!