在线文档教程
C++
输入/输出 | Input/output

std::basic_ios::copyfmt

性病:基本[医]IOS::Copyfmt

basic_ios& copyfmt(const basic_ios& other

复制流的状态。other*this.这是按下列顺序进行的:

1%29次回电,每次由register_callback()过路erase_event作为参数

2%29拷贝所有成员对象other*this除了rdstate(),异常掩码,以及rdbuf()特别是,复制区域设置、格式标志、数组的内容。std::ios_base::iwordstd::ios_base::pword%28但不是iwordpword指针本身(%29)、回调和绑定流。

3%29次回电,每次由register_callback()过路copyfmt_event作为参数

4%29拷贝异常掩码other*this好像通过打电话exceptions(other.exceptions())

参数

other-another stream to use as source

返回值

*this...

注记

中的指针指向的用户定义对象可以使用第二次回调来进行深度复制。std::ios_base::pword...

copyfmt()可用于保存和恢复流的状态。Boost提供了一个更细粒度的Io州储户图书馆也有同样的用途。

使ofstream对象“out”的行为与std::cout完全相同,包括格式设置,将%28%29绑定到std::CIN,等等。

二次

#include <iostream> #include <fstream> int main() { std::ofstream out; out.copyfmt(std::cout // copy everything except rdstate and rdbuf out.clear(std::cout.rdstate() // copy rdstate out.basic_ios<char>::rdbuf(std::cout.rdbuf() // share the buffer out << "Hello, world\n"; }

二次

产出:

二次

Hello, world

二次

© cppreference.com

在CreativeCommonsAttribution下授权-ShareAlike未移植许可v3.0。

http://en.cppreference.com/w/cpp/io/basic[医]IOS/Copyfmt