21xrx.com
2024-11-05 19:31:06 Tuesday
登录
文章检索 我的文章 写文章
C++中的setw()函数
2023-07-06 04:55:53 深夜i     --     --
C++ setw()函数 控制输出格式 调整字段宽度 对齐显示

在C++编程中,我们常常需要控制输出格式,比如需要让输出的字符串对齐,这时就可以使用C++中的setw()函数来实现。

setw()函数在头文件 中定义,它的作用是设置该输出流下一个输出项占用的字符数。下面是setw()函数的格式:


setw(int n)

其中n代表输出项所占字符数。

例如,我们想要让输出的字符串占用10个字符的位置,可以使用如下代码:


#include <iostream>

#include <iomanip>

using namespace std;

int main()

{

  string str = "hello";

  cout<<setw(10)<<str<<endl;

  return 0;

}

输出结果为:


   hello

我们可以看到,字符串hello占用了10个字符的位置,并且左对齐了。

如果我们想要让它右对齐,可以使用setiosflags(ios::right)函数。


#include <iostream>

#include <iomanip>

using namespace std;

int main()

{

  string str = "hello";

  cout<<setiosflags(ios::right)<<setw(10)<<str<<endl;

  return 0;

}

输出结果为:


   hello

我们还可以使用setfill()函数来设置填充字符,下面的代码将输出一个左对齐的字符串,长度为10,填充字符为#。


#include <iostream>

#include <iomanip>

using namespace std;

int main()

{

  string str = "hello";

  cout<<setiosflags(ios::left)<<setfill('#')<<setw(10)<<str<<endl;

  return 0;

}

输出结果为:


hello#####

除了用于输出字符串的setw()函数外,它也可以用于输出数字。例如,我们需要在输出一个数字前添加一个符号,可以使用如下代码:


#include <iostream>

#include <iomanip>

using namespace std;

int main()

{

  int num = 10;

  cout<<setw(3)<<setiosflags(ios::showpos)<<num<<endl;

  return 0;

}

输出结果为:


+10

需要注意的是,使用setw()函数只能影响下一个输出项的宽度,而非整个输出。如果希望在整个输出的过程中都用到该宽度,需要在每个输出项前都加上setw()函数。

综上所述,setw()函数在C++编程中非常实用,特别是在输出中需要控制格式时,使用它可以轻松实现对输出项的对齐、填充等操作。

  
  

评论区

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