134C++格式化输出,C++输出格式控制.doc

134C++格式化输出,C++输出格式控制.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
134C格式化输出,C输出格式控制

在输出数据时,为简便起见,往往不指定输出的格式,由系统根据数据的类型采取默认的格式,但有时希望数据按指定的格式输出,如要求以十六进制或八进制形式 输出一个 整数,对输出的小数只保留两位小数等。有两种方法可以达到此目的。一种是我们已经介绍过的使用控制符的方法,第2种是使用流对象的有关成员函数。分别叙述如下。 使用控制符控制输出格式 控制格式的使用方法这里不再赘述,仅举例说明。 [例13.2] 用控制符控制输出格式。 #include?iostream #include?iomanip//不要忘记包含此头文件 using?namespace?std; int?main() { int?a; coutinput a:; cina; coutdec:decaendl;?//以十进制形式输出整数 couthex:hexaendl;?//以十六进制形式输出整数a coutoct:setbase(8)aendl;?//以八进制形式输出整数a char?*pt=China;?//pt指向字符串China coutsetw(10)ptendl;?//指定域宽为,输出字符串 coutsetfill(*)setw(10)ptendl;?//指定域宽,输出字符串,空白处以*填充 double?pi=22.0/7.0;?//计算pi值 //按指数形式输出,8位小数 coutsetiosflags(ios::scientific)setprecision(8); coutpi=piendl;?//输出pi值 coutpi=setprecision(4)piendl;?//改为位小数 coutpi=setiosflags(ios::fixed)piendl;?//改为小数形式输出 return?0; } 运行结果如下: input a:34↙(输入a的值) dec:34?????????????????? (十进制形式) hex:22?????????????????? (十六进制形式) oct:42?????????????????? (八进制形式) ? ? ? ? ?China?????????????? (域宽为) *****China?????????????? (域宽为,空白处以*填充) pi=3+00??????? (指数形式输出,8位小数) pi=3.1429e+00??????????? (指数形式输出,4位小数) pi=3.143???????????????? (小数形式输出,精度仍为) 用流对象的成员函数控制输出格式 除了可以用控制符来控制输出格式外,还可以通过调用流对象cout中用于控制输出格式的成员函数来控制输出格式。用于控制输出格式的常用的成员函数见表13.4。 表13.4 用于控输出格式的流成员函数 流成员函数 与之作用相同的控制符 作用 precision(n) setprecision(n) 设置实数的精度为n位 width(n) setw(n) 设置字段宽度为n位 fill(c) setfill(c) 设置填充宇符c setf() setiosflags() 设置输出格式状态,括号中应给出格式状态,内容与控制符setiosflags括号中的内容相同,如表13.5所示 unsetf() resetioflags() 终止已设置的输出格式状态,在括号中应指定内容 流成员函数setf和控制符setiosflags括号中的参数表示格式状态,它是通过格式标志来指定的。格式标志在类ios中被定义为枚举值。因此在引用这些格式标志时要在前面加上类名ios和域运算符“::”。格式标志见表13.5。 表13.5 设置格式状态的格式标志 格式标志 作用 ios::left 输出数据在本域宽范围内向左对齐 ios::right 输出数据在本域宽范围内向右对齐 ios::internal 数值的符号位在域宽内左对齐,数值右对齐,中间由填充字符填充 ios::dec 设置整数的基数为10 ios::oct 设置整数的基数为8 ios::hex 设置整数的基数为16 ios::showbase 强制输出整数的基数(八进制数以0打头,十六进制数以0x打头) ios::showpoint 强制输出浮点数的小点和尾数0 ios::uppercase 在以科学记数法格式E和以十六进制输出字母时以大写表示 ios::showpos 对正数显示“+”号 ios::scientific 浮点数以科学记数法格式输出 ios::fixed 浮点数以定点格式(小数形式)输出 ios::unitbuf 每次输出之后刷新所有的流 ios::stdio 每次输出之后清除stdout,?stderr [例13.

文档评论(0)

yaobanwd + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档