关于输出格式的一些总结——cout
来源:互联网 发布:网络发短信到手机 编辑:程序博客网 时间:2024/06/03 16:51
关于输出的进制问题:
通常情况下使用cout输出,默认输出的是十进制,不管你在源代码里是用什么进制来保存这个数字的。
如果要输出十六进制或者八进制,应该先告诉cout,代码如下:
#include "iostream"using namespace std;int main() { int test = 42; cout << "decimal for test: " << test << endl; cout << hex; cout << "hexadecimal for test: " << test << endl; cout << oct; cout << "octal for test: " << test << endl; return 0;}
cout << hex;并不是在屏幕上输出任何东西,而是告诉cout,接下来要输出的数字全部用十六进制输出。
(注意:对格式的修改并不局限于接下来的一行)
运行结果如图:
学会使用退格符:
#include "iostream"#include "string"#include "cstdlib"using namespace std;int main() { string name; cout << "Please enter your name:_____\b\b\b\b\b"; //退格后,新输入的字符会替换掉下划线 cin >> name; cout << "Hello!" << name << endl; return 0;}
运行结果如图:
调整字段宽度:
成员函数width(int w)将字段宽度设置为w,并返回以前的字段宽度。这使得能够保存以前的值,以便以后恢复宽度值时使用。
注意,width()方法只影响将显示的下一个项目,然后字段宽度将恢复为默认值。如:
cout << '#';cout.width(12);cout << 12 << '#' << 24 << "#\n";
输出是
# 12#24#
说明:12倍放到宽度为12个字符的字段的最右边,这被称为右对齐,且不足的宽度用空格补足。然后,字段宽度恢复为默认值。
填充字符
在默认的情况下,cout用空格填充字段中未被使用的部分,可以用fill()成员函数来改变填充字符。例如,下面的函数调用将填充字符改为星号:
cout.fill('*');
新填充的字符将一直有效,直到更改它为止。
设置精度
precision(int)成员函数可以设置显示的位数.
或者是setprecision(int)非成员函数,该函数定义在iomanip头文件中
显示小数点后几位:
fixed使得输出按定点表示法(相比之于科学表示法)
交替使用fixed和precision(int)或者是setprecision(int)可以控制输出格式为固定的小数点后几位。
#include "iomanip"#include "iostream"using namespace std;int main() { double temp = 28.3; cout.precision(5); cout << fixed << temp << endl; return 0;}
或者:
#include "iomanip"#include "iostream"using namespace std;int main() { double temp = 28.3; cout << fixed << precision(5) << temp << endl; return 0;}
成员函数setf及其他
setf()函数的第一个原型为:
fmtflags setf(fmtflags);其中fmtflags用于储存格式标记,该名称是在ios_base类中定义的。
这个版本的setf()是用来设置单个位控制的格式信息,参数是一个fmtflags值,指出要设置哪一位。返回值是以前的设置。
具体的可用参数如下表:
setf()函数的第二个原型为:
fmtflags setf(fmtflags, fmtflags);
这里不深入解释两个参数的含义,简单粗暴地给出其具体可用参数和含义:
但是,使用setf()不是进行格式化的、对用户最为友好的方法,C++提供了多个控制符,能够调用setf()并自动提供正确的参数。
这些控制符的工作方式与下列格式相似:
cout << left << fixed;
一些标准控制符
- 关于输出格式的一些总结——cout
- cout输出的常用的一些格式
- cout的输出格式
- cout的格式输出
- cout的格式控制——关于cout.width()和cout.fill()
- C++ cout输出格式总结
- cout格式输出的使用
- cout<<格式输出的使用
- cout输出的格式控制
- cout的输出格式初探
- cout的输出格式(转)
- 关于cout输出类型是指针的总结和区别
- ACM日记_17.5.01——控制格式的输出就只会printf了?cout也可以!
- 如何设置cout的输出格式(转)
- 如何设置cout的输出格式(转)
- cout如何输出数值的二进制格式
- C++的cout语句格式控制输出
- cout的输出格式初探2
- 实习项目——基于Qt5的银行排号叫号系统(客户端)
- 初学IOS_UI基础,滑动面板_自动翻页封装版_有GIF图_有源文件
- 使用CHotKeyCtrl的几点总结
- 如何用jQuery禁用浏览器的前进后退按钮?(未测试)
- html5 meter
- 关于输出格式的一些总结——cout
- string::npos 含义及用途
- 我选择喜欢你,问明月 ,爱恨之间,心的构造,乱世俱灭
- JavaScript数组求和高效率方法
- springmvc工具类封装RowMapper (未测试)
- matlab2016的License Manager Error解决方案
- 快速编写“专家级”makefile(4.打造更专业的编译环境——增进复用性)
- 初学IOS_UI基础_多组table_封装版本_有GIF图_有源文件
- JS中创建类的方法