当前位置: 首页 > 文档资料 > C/C++ 语言参考 >

C++ I/O Flags

优质
小牛编辑
125浏览
2023-12-01

C++为标准输入和输出定义了一些格式标志, 它可以通过flags(), setf(), 和 unsetf() 三个函数来控制. 例如,

    cout.setf(ios::left);

对所有指向cout的输出进行左对齐调整.

标志功能
boolalpha可以使用单词"true"和"false"进行输入/输出的布尔值.
dec用十进制格式显示后面的数值.
fixed用正常的记数方法显示浮点数(与科学计数法相对应).
hex用十六进制格式显示后面的数值.
internal将填充字符回到符号和数值之间.
left输出调整为左对齐.
oct用八进制格式显示后面的数值.
right输出调整为右对齐.
scientific用科学记数法显示浮点数.
showbase输出时显示所有数值的基数.
showpoint显示小数点和额外的零,即使不需要.
showpos在非负数值前面显示"+".
skipws当从一个流进行读取时,跳过空白字符(spaces, tabs, newlines).
unitbuf在每次插入以后,清空缓冲区.
uppercase以大写的形式显示科学记数法中的"e"和十六进制格式的"x".

也可以通过使用下面的操作符,不直接操作标志。大多数的编程人员都都熟悉endl操作符,它给我们一个使用操作符的启示。例如:当我们设置dec标志时, 我们可以使用下面的命令:

  cout << dec;
<iostream>中定义的操作符
操作符描述输入输出
boolalpha启用boolalpha标志XX
dec启用dec标志XX
endl输出换行标示,并清空缓冲区X
ends输出空字符X
fixed启用fixed标志X
flush清空流X
hex启用 hex 标志XX
internal启用 internal 标志X
left启用 left 标志X
noboolalpha关闭boolalpha 标志XX
noshowbase关闭showbase 标志X
noshowpoint关闭showpoint 标志X
noshowpos关闭showpos 标志X
noskipws关闭skipws 标志X
nounitbuf关闭unitbuf 标志X
nouppercase关闭uppercase 标志X
oct启用 oct 标志XX
right启用 right 标志X
scientific启用 scientific 标志X
showbase启用 showbase 标志X
showpoint启用 showpoint 标志X
showpos启用 showpos 标志X
skipws启用 skipws 标志X
unitbuf启用 unitbuf 标志X
uppercase启用 uppercase 标志X
ws跳过所有前导空白字符X
在<iomanip>中定义的操作符
操作符描述输入输出
resetiosflags( long f )关闭被指定为f的标志XX
setbase( int base )设置数值的基本数为baseX
setfill( int ch )设置填充字符为chX
setiosflags( long f )启用指定为f的标志XX
setprecision( int p )设置数值的精度X
setw( int w )设置域宽度为wX