C++ ios 库 - copyfmt
描述
将 rhs 的所有内部成员(除了状态标志和关联的流缓冲区)的值复制到 *this 的相应成员。
调用后,以下成员函数对 rhs 和 *this 返回相同 −
| 元素 | 描述 |
|---|---|
| flags | 格式标志 |
| width | 字段宽度 |
| precision | 精度 |
| getloc | 选定的语言环境 |
| iarray | 内部可扩展数组* |
| parray | 内部可扩展数组* |
| fill | 填充字符 |
| tie | 绑定流 |
| exceptions | 异常掩码(最后被复制,见下文) |
声明
以下是 ios::copyfmt 函数的声明。
ios& copyfmt (const ios& rhs);
参数
rhs − 其成员被复制到 *this 的 Stream 对象。
返回值
它返回 *this。
异常
Basic guarantee − 如果抛出异常,则流处于有效状态。
数据竞争
修改流对象(*this),并访问 rhs。
对任何对象的并发访问都可能导致数据争用。
示例
在下面的示例中解释了 ios::copyfmt 函数。
#include <iostream>
#include <fstream>
int main () {
std::ofstream filestr;
filestr.open ("test.txt");
std::cout.fill ('*');
std::cout.width (10);
filestr.copyfmt (std::cout);
std::cout << 40;
filestr << 40;
return 0;
}
让我们编译并运行上面的程序,这将产生以下结果 −
********40

