21xrx.com
2025-04-13 12:02:38 Sunday
文章检索 我的文章 写文章
C++ setw函数详解
2023-06-29 01:50:39 深夜i     25     0
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()函数可以使输出看起来更加美观整洁。

  
  

评论区