21xrx.com
2024-11-05 19:32:15 Tuesday
登录
文章检索 我的文章 写文章
C++ setw函数详解
2023-06-29 01:50:39 深夜i     --     --
C++ setw函数 详解

C++中的setw()函数是一个用于格式化输出的函数,它可以设置输出字符串的宽度。setw() 函数需要 #include 头文件才能使用。

setw() 函数的使用方式比较简单,只需要在输出语句中加入setw(n)即可,其中n表示需要输出的字符串的宽度。

例如下面的代码:


#include <iostream>

#include <iomanip> // 必须加上该头文件才能使用 setw() 函数

using namespace std;

int main() {

 int num = 1234;

 cout << "原来的输出:" << num << endl;

 cout << "设置宽度输出:" << setw(10) << num << endl;

 return 0;

}

上面的代码中,使用setw()函数将num的输出宽度设置为10。输出结果如下所示:


原来的输出:1234

设置宽度输出:   1234

由于setw()函数设置的宽度包含输出的字符串,因此输出结果中会多出空格。如果需要让数字居中输出,则需要使用setiosflags(ios::left)、setiosflags(ios::right)或setiosflags(ios::internal)函数,分别表示左对齐、右对齐和填充符号在输出数字之间。例如:


#include <iostream>

#include <iomanip> // 必须加上该头文件才能使用 setw() 函数

using namespace std;

int main() {

 int num = 1234;

 cout << "原来的输出:" << num << endl;

 cout << "设置宽度输出:" << setw(10) << num << endl;

 cout << "左对齐输出:" << setw(10) << setiosflags(ios::left) << num << endl;

 cout << "右对齐输出:" << setw(10) << setiosflags(ios::right) << num << endl;

 cout << "居中输出:" << setw(10) << setiosflags(ios::internal) << num << endl;

 return 0;

}

输出结果如下所示:


原来的输出:1234

设置宽度输出:   1234

左对齐输出:1234   

右对齐输出:   1234

居中输出:  1234 

除了可以设置输出数字的宽度外,setw()函数还可以设置输出的填充字符。使用setfill()函数可以设置填充字符,例如:


#include <iostream>

#include <iomanip> // 必须加上该头文件才能使用 setw() 和 setfill() 函数

using namespace std;

int main() {

 int num = 1234;

 char symbol = '-';

 cout << "原来的输出:" << num << endl;

 cout << "设置宽度输出:" << setw(10) << num << endl;

 cout << "设置左对齐输出:" << setw(10) << setiosflags(ios::left) << num << endl;

 cout << "使用填充字符输出:" << setfill(symbol) <<setw(10) << num << endl;

 return 0;

}

在上面的代码中,使用setfill()函数设置填充字符为“-”,结果输出如下:


原来的输出:1234

设置宽度输出:   1234

设置左对齐输出:1234   

使用填充字符输出:------1234

从上面的例子中可以看出,setw()函数不仅可以设置输出的宽度,还能够改变输出的位置(居中、左对齐、右对齐),以及使用填充字符填充输出。正确使用setw()函数可以使输出看起来更加美观整洁。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复