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::cinstd::cin读入之前会强制调用std::cout.flush()为了避免频繁的刷新缓冲区,解除`std::cin`和`std::cout`的绑定 `std::cin.tie()` `std::cout.tie()`
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!