1. ホーム
  2. c++

[解決済み] setw()が私のコードで正しく動作しない

2022-02-27 03:32:23

質問

私のコードに問題があります。バグなのか、私のコードに何か問題があるのか分かりません。

#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;
}

手動でスペースを追加することは動作しますが、私はプログラムでスペースを追加したいのですが、私はアプリケーションをテストしたときに、このようになります。

解決方法は?

セットウ はしません。 テキストを移動させますが、テキストが占める最小の幅を設定します。

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
********************************************************************************