论坛首页 编程语言技术论坛

c++ IO标志

浏览 2536 次
锁定老帖子 主题:c++ IO标志
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2010-01-31  
C++

1. 操纵算子
这里已经添加了一个新的元素:一个称作 e n d l的操纵算子。一个操纵算子作用于流上,这
种情况下,插入一新行并清空流(消除所有存储在内部流缓冲区里的还没有输出的字符) 。也
可以只清空流:
c o u t < < f l u s h;
另外有一个基本的操纵算子把基数变为o c t (八进制),d e c (十进制)或h e x (十六进制):
c o u t < < h e x < < " 0 x " < < i < < e n d l;
有一个用于提取的操纵算子“跳过”空格:
c i n > > w s;

 

C++ I/O 标志

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标志 X X
dec 启用dec标志 X X
endl 输出换行标示,并清空缓冲区   X
ends 输出空字符   X
fixed 启用fixed标志   X
flush 清空流   X
hex 启用 hex 标志 X X
internal 启用 internal 标志   X
left 启用 left 标志   X
noboolalpha 关闭boolalpha 标志 X X
noshowbase 关闭showbase 标志   X
noshowpoint 关闭showpoint 标志   X
noshowpos 关闭showpos 标志   X
noskipws 关闭skipws 标志 X  
nounitbuf 关闭unitbuf 标志   X
nouppercase 关闭uppercase 标志   X
oct 启用 oct 标志 X X
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的标志 X X
setbase( int base ) 设置数值的基本数为base   X
setfill( int ch ) 设置填充字符为ch   X
setiosflags( long f ) 启用指定为f的标志 X X
setprecision( int p ) 设置数值的精度   X
setw( int w ) 设置域宽度为w   X
   发表时间:2010-02-01  
这是标准库的规范么?

哪些是必须实现的? 哪些是推荐实现的?

各个编译器在每个平台上都是一样的效果么?
0 请登录后投票
   发表时间:2010-02-01  
zzsczz 写道
这是标准库的规范么?

哪些是必须实现的? 哪些是推荐实现的?

各个编译器在每个平台上都是一样的效果么?

都是标准规定的。
0 请登录后投票
   发表时间:2010-02-01  
还是printf系列的控制起来方便些。
0 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics