BohYoh.comトップページへ
C & C++ FAQ
目次

C++ coutに対する表示において出力桁数を変数として指定するにはどうすればよいでしょうか。

 setwという処理子を利用することによって簡単に実現することができます。たとえば、

cout << setw(5) << 123;

を実行すると、" 123"と5桁の幅で表示されます。一般に、

cout << setw(c) << x;

を実行すると、xの値が少なくともc桁の10進数で出力されます。なお、xの値の表現がc桁で収まらない場合は、削られることなく全ての桁が表示されますので、表示はc桁を超えることになります。すなわち、

cout << setw(3) << 12345;

を実行すると、"12345"と5桁の幅で表示されます。
 また、setwによる指定は、次の出力一つに限って有効ですので、

cout << setw(5) << 123 << 123;

を実行すると、" 123123"と表示されます(後ろの123は3桁で表示されます)。
 別の例も示しましょう。
1
 2
  3
   4
    5

for (int i = 1; i <=5; i++) cout << setw(i) << i;

は、1から5までの値を、一桁ずつずらしながら表示しますので、右のような実行結果が得られることになります。

戻る

BohYoh.comロゴ