函数
<ios> <iostream> <iostream>
std::dec
ios_base& dec (ios_base& str);
使用十进制
将 str 流的 basefield 格式标志设置为 dec。
当 basefield 设置为 dec 时,插入到流中的整数值将以十进制(即基数为10)表示。对于输入流,当设置此标志时,提取的值也应以十进制表示。
basefield 格式标志可以取以下任一值(每个值都有自己的操纵符)
标志值 | 设置时的效果 |
dec | 使用十进制格式读取/写入整数值。 |
hex | 使用十六进制格式读取/写入整数值。 |
oct | 使用八进制格式读取/写入整数值。 |
对于标准流,basefield 标志在初始化时设置为 dec。
参数
- str
- 其 basefield 格式标志 受到影响的流对象。
因为此函数是一个操纵符,它被设计为在不带参数的情况下,与流上的插入 (<<
) 和提取 (>>
) 操作结合使用(见下例)。
示例
1 2 3 4 5 6 7 8 9 10
|
// modify basefield
#include <iostream> // std::cout, std::dec, std::hex, std::oct
int main () {
int n = 70;
std::cout << std::dec << n << '\n';
std::cout << std::hex << n << '\n';
std::cout << std::oct << n << '\n';
return 0;
}
|
输出
数据竞争
修改 str。对同一个流对象的并发访问可能导致数据竞争。
异常安全
基本保证:如果抛出异常,str 处于有效状态。