setw()在我的代码上无法正常工作

时间:2014-09-21 06:39:38

标签: c++

我的代码有问题,不确定是否是错误或我的代码有问题。

#include <iostream>
#include <iomanip>
using namespace std;

int main()
{
cout << setfill('*') << setw(80) << "*";
cout << setw(21) <<  "Mt.Pleasant Official Billing Statement" << endl;
cout << setfill('*') << setw(80) << "*" << endl;
return 0;
}

添加手动空间有效,但我想以编程方式添加空格,但是当我测试应用程序时,它看起来像这样:

enter image description here

1 个答案:

答案 0 :(得分:4)

setw 移动文字,但会设置应采取的最小宽度

要实现您的想法,您应该尝试更大的值,因为您的字符串超过21个字符,例如

cout << setfill('*') << setw(80) << "*" << endl;
cout  << setfill(' ') << setw(56) <<  "Mt.Pleasant Official Billing Statement" << endl;
cout << setfill('*') << setw(80) << "*" << endl;

输出:

********************************************************************************
                  Mt.Pleasant Official Billing Statement
********************************************************************************