C++ Primer 5th笔记(chap 17 标准库特殊设施)输出补白
Posted thefist11
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++ Primer 5th笔记(chap 17 标准库特殊设施)输出补白相关的知识,希望对你有一定的参考价值。
1. 控制数据格式
定义在iomapip中的操作符
操作符 描述
setfill(ch) 用ch填充空白
setprecision(ch) 将浮点精度设置为n
setw(ch) 读或写值的宽度为w个字符
setbase(ch) 将整数输出被b进制
1.1 setw
setw 指定下一个数字或字符串值的最小空间。
• left 表示左对齐输出。
• right 表示右对齐输出, 右对齐是默认格式。
• internal 控制负数的符号的位置, 它左对齐符号, 右对齐值, 用空格填满所有中 <7591
间空间。
• setfill 允许指定一个字符代替默认的空格来补白输出
eg.
int i = -16;
double d = 3.14159;
cout << "i: " <<setw (12) «i<<"next col" «' \\n'
<< "d: ’’ << setw (12) << d << "next col" << ’\\n’;
// 补白第一列, 左对齐所有列
cout << left <<"i: " << setw (12) << i << "next col" << ’\\n’ << "d: " << setw (12) << d << "next col" << ’\\n’
<< right; // 恢复正常对齐
// 补白第一列 , 右对齐所有列
cout << right << "i: " << setw (12) << i <<"next col" <<’\\n’<<"d: " << setw (12) << d << "next col" <<’\\n’;
// 补白第一列, 但补在域的内部
cout <<internal << "i:" << setw (12)<< i << "next col" <<’\\n’
<< "d: " << setw (12) << d << "next col" <<’\\n’;
// 补白第一列, 用#作为补白字符
cout << setfill(#)
<<"i: " <<setw (12) << i << "next col" <<r\\nr
<<"d: " <<setw (12) << d <<"next col" <<r \\nf
<<setfill(' ') // 恢 复 正 常 的 补 白 字 符
eg.
#include <iomanip>
int i = -16;
double d = 3.1415926;
// 补白第一列, 使用输出中最小 12 个位置
// 补白第一列, 左对齐所有列
cout << left
<<"i: " << setw(12) << i <<" next col" << '\\n'
<<"d: " << setw(12) << d<< " next col" <<
endl;
// 补白第一列 , 右对齐所有列
cout << right
<< "i: " << setw(12) << i << " next col" << '\\n'
<< "d: " << setw(12) << d << " next col" <<
endl;
// 补白第一列, 但补在域的内部
cout << internal
<< "i: " << setw(12) << i << " next col" << '\\n'
<< "d: " << setw(12) << d << " next col" <<
endl;
// 补白第一列, 用#作为补白字符
cout << setfill('#')
<< "i: " << setw(12) << i << " next col" << '\\n'
<< "d: " << setw(12) << d << " next col" <<
endl;
cout« setfill(' '); // 恢 复 正 常 的 补 白 字 符
以上是关于C++ Primer 5th笔记(chap 17 标准库特殊设施)输出补白的主要内容,如果未能解决你的问题,请参考以下文章
C++ Primer 5th笔记(chap 17 标准库特殊设施)输出补白
C++ Primer 5th笔记(chap 17 标准库特殊设施)bitset类型
C++ Primer 5th笔记(chap 17 标准库特殊设施)正则表达式
C++ Primer 5th笔记(chap 17 标准库特殊设施)tuple 返回多个值