欢迎来到天天文库
浏览记录
ID:19824409
大小:100.90 KB
页数:6页
时间:2018-10-06
《134c格式化输出,c输出格式控制》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、在输出数据时,为简便起见,往往不指定输出的格式,由系统根据数据的类型采取默认的格式,但有时希望数据按指定的格式输出,如要求以十六进制或八进制形式输出一个整数,对输出的小数只保留两位小数等。有两种方法可以达到此目的。一种是我们已经介绍过的使用控制符的方法,第2种是使用流对象的有关成员函数。分别叙述如下。使用控制符控制输出格式控制格式的使用方法这里不再赘述,仅举例说明。[例13.2]用控制符控制输出格式。#include#include//不要忘记包含此头文件usingnamespacestd;intmain(){i
2、nta;cout<<"inputa:";cin>>a;cout<<"dec:"<3、空白处以•*•填充doublepi=22.0/7.0;/八十算pi值//按指数形式输出,8位小数cout<4、hex:22(十六进制形式)oct:42(八进制形式)China(域宽为)*****China(域宽为,空白处以…填充)pi=3.14285714e+00(指数形式输出,8位小数)pi=3.1429e+00(指数形式输出,4位小数)pi=3.143(小数形式输出,精度仍为)用流对象的成员函数控制输出格式除了可以用控制符来控制输出格式外,还可以通过调用流对象cout中用于控制输出格式的成员函数来控制输出格式。用于控制输出格式的常用的成员函数见表13.4。表13.4用于控输出格式的流成员函数流成员函数与之作用相同的控制符作用precision(n)set5、precision(n)width(n)setw(n)fill(c)setfill(c)setf()setiosflagsQ设置实数的精度为n位设置字段宽度为n位设置填充宇符c设置输出格式状态,括号中应给出格式状态,内容与控制符setiosflags括号中的内容相同,如表13.5所示unsetfQresetioflagsQ终止已设置的输出格式状态,在括号中应指定内容流成员函数setf和控制符setiosflags括号中的参数表示格式状态,它是通过格式标志来指定的。格式标志在类ios中被定义为枚举值。因此在引用这些格式标志时要在前面加上类名ios和域运6、算符"::"。格式标志见表13.5。表13.5设置格式状态的格式标志ios::leftios::rightios::internalios::dec输出数据在本域宽范围内向左对齐输出数据在本域宽范围内向右对齐数值的符号位在域宽内左对齐,数值右对齐,中间由填充字符填充设置整数的基数为10ios::oct设置整数的基数为8ios::hex设置整数的基数为16ios::showbase强制输出整数的基数(八进制数以0打头,十六进制数以Ox打头)ios::showpoint强制输出浮点数的小点和尾数0ios::uppercase在以科学记数法格式E和以十六进7、制输出字母时以大写表示ios::showpos对正数显示〃号ios::scientific浮点数以科学记数法格式输出ios::fixed浮点数以定点格式(小数形式)输出ios::unitbuf每次输出之后刷新所有的流ios::stdio每次输出之后清除stdout,stderr[例13.3]用流控制成员函数输出数据,.^include.usingnamespacestd;.intmain().{.inta=21.cout.setf(ios::showbase);//显示基数符号(Ox或).cout<<"dec:"<8、;//默认以十进制开S式输出a.cout.unsetf(ios::dec);//终止十进制的格式设置.cou
3、空白处以•*•填充doublepi=22.0/7.0;/八十算pi值//按指数形式输出,8位小数cout<4、hex:22(十六进制形式)oct:42(八进制形式)China(域宽为)*****China(域宽为,空白处以…填充)pi=3.14285714e+00(指数形式输出,8位小数)pi=3.1429e+00(指数形式输出,4位小数)pi=3.143(小数形式输出,精度仍为)用流对象的成员函数控制输出格式除了可以用控制符来控制输出格式外,还可以通过调用流对象cout中用于控制输出格式的成员函数来控制输出格式。用于控制输出格式的常用的成员函数见表13.4。表13.4用于控输出格式的流成员函数流成员函数与之作用相同的控制符作用precision(n)set5、precision(n)width(n)setw(n)fill(c)setfill(c)setf()setiosflagsQ设置实数的精度为n位设置字段宽度为n位设置填充宇符c设置输出格式状态,括号中应给出格式状态,内容与控制符setiosflags括号中的内容相同,如表13.5所示unsetfQresetioflagsQ终止已设置的输出格式状态,在括号中应指定内容流成员函数setf和控制符setiosflags括号中的参数表示格式状态,它是通过格式标志来指定的。格式标志在类ios中被定义为枚举值。因此在引用这些格式标志时要在前面加上类名ios和域运6、算符"::"。格式标志见表13.5。表13.5设置格式状态的格式标志ios::leftios::rightios::internalios::dec输出数据在本域宽范围内向左对齐输出数据在本域宽范围内向右对齐数值的符号位在域宽内左对齐,数值右对齐,中间由填充字符填充设置整数的基数为10ios::oct设置整数的基数为8ios::hex设置整数的基数为16ios::showbase强制输出整数的基数(八进制数以0打头,十六进制数以Ox打头)ios::showpoint强制输出浮点数的小点和尾数0ios::uppercase在以科学记数法格式E和以十六进7、制输出字母时以大写表示ios::showpos对正数显示〃号ios::scientific浮点数以科学记数法格式输出ios::fixed浮点数以定点格式(小数形式)输出ios::unitbuf每次输出之后刷新所有的流ios::stdio每次输出之后清除stdout,stderr[例13.3]用流控制成员函数输出数据,.^include.usingnamespacestd;.intmain().{.inta=21.cout.setf(ios::showbase);//显示基数符号(Ox或).cout<<"dec:"<8、;//默认以十进制开S式输出a.cout.unsetf(ios::dec);//终止十进制的格式设置.cou
4、hex:22(十六进制形式)oct:42(八进制形式)China(域宽为)*****China(域宽为,空白处以…填充)pi=3.14285714e+00(指数形式输出,8位小数)pi=3.1429e+00(指数形式输出,4位小数)pi=3.143(小数形式输出,精度仍为)用流对象的成员函数控制输出格式除了可以用控制符来控制输出格式外,还可以通过调用流对象cout中用于控制输出格式的成员函数来控制输出格式。用于控制输出格式的常用的成员函数见表13.4。表13.4用于控输出格式的流成员函数流成员函数与之作用相同的控制符作用precision(n)set
5、precision(n)width(n)setw(n)fill(c)setfill(c)setf()setiosflagsQ设置实数的精度为n位设置字段宽度为n位设置填充宇符c设置输出格式状态,括号中应给出格式状态,内容与控制符setiosflags括号中的内容相同,如表13.5所示unsetfQresetioflagsQ终止已设置的输出格式状态,在括号中应指定内容流成员函数setf和控制符setiosflags括号中的参数表示格式状态,它是通过格式标志来指定的。格式标志在类ios中被定义为枚举值。因此在引用这些格式标志时要在前面加上类名ios和域运
6、算符"::"。格式标志见表13.5。表13.5设置格式状态的格式标志ios::leftios::rightios::internalios::dec输出数据在本域宽范围内向左对齐输出数据在本域宽范围内向右对齐数值的符号位在域宽内左对齐,数值右对齐,中间由填充字符填充设置整数的基数为10ios::oct设置整数的基数为8ios::hex设置整数的基数为16ios::showbase强制输出整数的基数(八进制数以0打头,十六进制数以Ox打头)ios::showpoint强制输出浮点数的小点和尾数0ios::uppercase在以科学记数法格式E和以十六进
7、制输出字母时以大写表示ios::showpos对正数显示〃号ios::scientific浮点数以科学记数法格式输出ios::fixed浮点数以定点格式(小数形式)输出ios::unitbuf每次输出之后刷新所有的流ios::stdio每次输出之后清除stdout,stderr[例13.3]用流控制成员函数输出数据,.^include.usingnamespacestd;.intmain().{.inta=21.cout.setf(ios::showbase);//显示基数符号(Ox或).cout<<"dec:"<8、;//默认以十进制开S式输出a.cout.unsetf(ios::dec);//终止十进制的格式设置.cou
8、;//默认以十进制开S式输出a.cout.unsetf(ios::dec);//终止十进制的格式设置.cou
此文档下载收益归作者所有