setw()函数使用
在C++中,setw(int n)用来控制输出间隔。
例如:
cout<<'s'<<setw(8)<<'a'<<endl;
则在屏幕显示
s a
//s与a之间有7个空格,setw()只对其后面紧跟的输出产生作用,如上例中,表示'a'共占8个位置,不足的用空格填充。若输入的内容超过setw()设置的长度,则按实际长度输出。
setw()默认填充的内容为空格,可以setfill()配合使用设置其他字符填充。
如
cout<<setfill('*')<<setw(5)<<'a'<<endl;
则输出:
****a //4个*和字符a共占5个位置。
所谓域宽,就是输出的内容(数值或字符等等)需要占据多少个字符的位置,如果位置有空余则会自动补足。比如我们要设置域宽为2,那么当输出一位数1的时候输出的就是“ 1”,即在1前面加了一个空格。空格和数字1正好一共占用了两个字符的位置。
我
们在设置域宽和填充字符的时候要注意几点:①设置域宽的时候应该填入整数,设置填充字符的时候应该填入字符。②我们可以对一个要输出的内容同时设置域宽和
填充字符,但是设置好的属性仅对下一个输出的内容有效,之后的输出要再次设置。即
cout <<setw(2) <<a <<b;语句中域宽设置仅对a有效,对b无效。③setw和setfill
被称为输出控制符,使用时需要在程序开头写上#include "iomanip.h",否则无法使用。
setw(n) 设域宽为n个字符 iomanip.h iomanip.h是I/O流控制头文件,就像C里面的格式化输出一样. 以下是一些常用的函数: dec 置基数为10 相当于"%d" hex 置基数为16 相当于"%X" oct 置基数为8 相当于"%o" setfill(c) 设填充字符为c setprecision(n) 设显示小数精度为n位 setw(n) 设域宽为n个字符 setiosflags(ios::fixed) 固定的浮点显示 setiosflags(ios::scientific) 指数表示 setiosflags(ios::left) 左对齐 setiosflags(ios::right) 右对齐 setiosflags(ios::skipws 忽略前导空白 setiosflags(ios::uppercase) 16进制数大写输出 setiosflags(ios::lowercase) 16进制小写输出 setiosflags(ios::showpoint) 强制显示小数点 setiosflags(ios::showpos) 强制显示符号 示例: #include <iomanip.h> #include <iostream> int main() { cout<<12345.0<<endl;//12345 cout<<setiosflags(ios::scientific)<<12345.0<<endl;//1.234500e+004 cout<<setprecision(3)<<12345.0<<endl;//1.235e+004 return 0; }
原文:http://hi.baidu.com/golny/item/9fbbc4f11afe2f1da729884b
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 字符编码:从基础到乱码解决