C++格式化输出二: iomanip
2015-11-15 14:42
399 查看
C++ 格式化输出 iomanip
包含头文件
Iomanip ====》 IO Manipulators
①. setw
输出:
setw(10),使得不足10个字符的部分使用空白符填充,多余10个字符,如1111111111,并不会被截断。
②.使用count.width (http://www.cplusplus.com/reference/iomanip/setw/)
输出:
⑤. 多进制输出
输出:
包含头文件
#include<iostream> #include<iomanip>
Iomanip ====》 IO Manipulators
①. setw
cout<<setw(10); cout << 11 << endl; cout << 11 << endl;
输出:
11 11
setw(10),使得不足10个字符的部分使用空白符填充,多余10个字符,如1111111111,并不会被截断。
②.使用count.width (http://www.cplusplus.com/reference/iomanip/setw/)
int n = -77; std::cout.width(6); std::cout << std::internal << n << '\n'; std::cout.width(6); std::cout << std::left << n << '\n'; std::cout.width(6); std::cout << std::right << n << '\n';输出:
- 77 -77 -77③.setfill修改填充
cout << setfill('-') << setw(10) << "123" << endl; // 修改填充方式 cout << setfill(' ') << setw(10) << std::right << "123" << endl; // 改回为 使用空白填充‘ ’,中间是个空白符(空格键) cout << setfill('*') << setw(10) << std::left << "123" << endl; // std::left std::right设置对齐方式为左对齐,右对齐。当然前提要设置
输出:
-------123 123 123*******④. 设置精度:
double d1 = 222.2455565; double d2 = 4878.3000; cout << setprecision(3) << d1 << endl; cout << setprecision(3) << d2 << endl;输出:
2.2e+002 4.9e+003
⑤. 多进制输出
std::cout << showbase << setbase(2) << 32 << endl; std::cout << showbase << setbase(8) << 32 << endl; std::cout << showbase << setbase(10) << 32 << endl; std::cout << showbase << setbase(16) << 32 << endl;
输出:
32 // 可以发现,这个二进制是不正确的 040 // 八进制, 0开头 32 // 十进制。。。。原样输出 0x20 // 十六进制 0x开头
相关文章推荐
- 区分C语言中getch、getche、fgetc、getc、getchar、fgets、gets
- c++ 11 多线线程系列-----------生产者消费者
- C/C++如何让类对象只在栈(堆)上分配空间?
- C++11新标准:decltype关键字
- 字符串的全排列
- 《MORE EFFECTIVE C++》条款27 要求或者禁止对象分配在堆上
- 《More Effective C++ 》笔记
- C语言实现动态数组大小
- c语言之多级指针理解一
- C++14::lambda函数的类型
- C语言中内联函数的作用
- (ZT)C语言运算符号优先级图表
- randstr随机字符串(VC++)
- [C++]时间格式转换器24转为12(class)
- QML与C++的交互
- C++11新标准:auto关键字
- c++ 的vector、array和数组的比较
- 操作系统实验二 进程管理
- C语言编程技巧
- C语言位运算