首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

std::basic_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,等等。

二次

代码语言:javascript
复制
#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";
}

二次

产出:

二次

代码语言:javascript
复制
Hello, world

二次

代码语言:txt
复制
 ? cppreference.com

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

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com