C++常用格式控制符

使用输出流对象cout进行数据输出时,无论什么类型的数据,都能够自动按照正确的默认格式进行输出。如果要求程序按照某种规定的格式显示输出数据,则需要在实现输出的C++语句中嵌入格式控制符,达到控制输出数据格式的目的。C++的格式控制符在头文件iomanip中定义,要使用格式控制符必须在程序中包含该头文件。

C++常用格式控制符

控制符

功能描述

dec

设置基数为10进制

hex

设置基数为16进制

oct

设置基数为8进制

endl

插入换行符,并刷新流

ends

插入空字符

setfill(c)

设置填充字符为c

setprecision(n)

设置输出数据有效位数(含整数部分和小数部分)为n位

setw(n)

设置输出数据域宽为n个字符

setiosflags(ios::fixed)

设置浮点数显示数据

setiosflags(ios::scientific)

设置指数(科学技术法)显示数据

setiosflags(ios::left)

设置输出数据左对齐

setiosflags(ios::right)

设置输出数据右对齐

setiosflags(ios::skipws)

设置忽略输出数据的前导空格

setiosflags(ios::uppercase)

设置16进制数据大写字母(A~F)输出

setiosflags(ios::lowercase)

设置16进制数据小写字母(a~f)输出

C++程序中,除了使用格式控制符来控制输出数据的格式外,还可以使用cout对象的函数成员来实现格式化数据输出。

 cout对象常用函数成员

函数成员

功能

cout.width(n)

设置输出数据项域宽为n个字符

cout.precision(n)

设置输出数据的有效位数(含整数部分和小数部分)

cout.setf(格式控制符)

设置输出状态标志,与setiosflags功能相同

cout.unsetf(格式控制符)

清除设置的状态标志

其中,cout.width与setw功能相同,同样也仅对紧跟其后的输出数据项起作用,对每一个输出数据项都要单独进行域宽指定。cout.precision与格式控制符setprecision功能相同,用于指定输出数据项的有效数据位数。cout.setf用于设置输出的状态标志,与格式控制符setiosflags功能相似。若要同时设置多个状态标志可以用位或运算符(|)进行连接。常用的状态标志有:

        ios::fixed

        ios::scientific

        ios::left

        ios::right

        ios::skipws

        ios::uppercase

        ios::lowercase

下面是几个常见的设置示例:

        cout.setf(ios::fixed);          //设置浮点数显示数据

        cout.setf(ios::fixed|ios::left);//设置浮点数显示数据,并且数据左对齐

函数成员cout.unsetf用于撤销前面用cout.setf设置的状态位,例如:

        cout.unsetf(ios::left); //撤销设置的输出数据左对齐

点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注

4 − 2 =