setw()是给紧跟着后面的数据预定一个空间,如果该数据小于这个空间,在左边用0补齐;setw(核哪)只对紧跟在他后面的数据有效改氏旦
for example
cout<核扰<setw(7)<<54421<<set(4)<<356<<endl
结果:
(两个空格)54421(一个空格)356
setw(n) 的作中渗用为设置字段宽度为n位。
上述接口与ios_base的格式控制成员是对应的,可以二者配合进行输出格式的精准控制。其中的精度控制默认是6位有效数字,科学计数法中的指数部分e为默认小写。setw设置的宽度如果小于字段宽度会失效 。
如果在一次输出过程中需要混杂多种格式,使用ios_base的成员函数来处理就显得很不方便。STL另提供了iomanip库可以满足这种使用方式。
扩展资料
在ios_base基类的基础上将每一种格式的设置和删除都进尺培纯行了函数级的同名封装,提供了全局的调用接口函数,支持在运算符“<<”和“>>”上的多次使用,配合ios_base实例的控制。是I/O流控制头文件,就陵咐像C里面的格式化输出一样。
输入和输出并不是C++语言中的正式组成成分。C和C++本身都没有为输入和输出提供专门的语句结构。输入输出不是由C++本身定义的,而是在编译系统提供的I/O库中定义的。
参考资料来源:百度百科-iomanip
在C++中,setw(int n)用来控制输出间隔。例如:
cout<<'s'<<setw(8)<<'a'<<endl
则在屏幕显示
sa
//s与a之间有7个空格,setw()只对其后面紧跟的输出产生作用,如上例中,表示'a'共占8个位置,不足的用空格填充。若输入的内容超过setw()设置的长度,则按实际长度配渣输出。培桐悄
setw()默认填充的内容为空格,可以setfill()配合使用设置其他字符填充轮漏。
如
cout<<setfill('*')<<setw(5)<<'a'<<endl
则输出:
****a //4个*和字符a共占5个位置。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)