名前空間
変種
操作

std::setw

提供: cppreference.com
< cpp‎ | io‎ | manip
 
 
入出力ライブラリ
入出力マニピュレータ
Cスタイルの入出力
バッファ
(C++98で非推奨)
ストリーム
抽象
ファイル入出力
文字列入出力
配列入出力
(C++98で非推奨)
(C++98で非推奨)
(C++98で非推奨)
同期化出力
エラーカテゴリインタフェース
(C++11)
 
入出力マニピュレータ
浮動小数点フォーマット
整数フォーマット
ブーリアンフォーマット
フィールド幅とフィル制御
setw
その他のフォーマット
ホワイトスペース処理
出力のフラッシュ
ステータスフラグ操作
時間と通貨の入出力
(C++11)
(C++11)
(C++11)
(C++11)
引用符マニピュレータ
(C++14)
 
ヘッダ <iomanip> で定義
/*unspecified*/ setw( int n );

out << setw(n) または in >> setw(n) で使用されたとき、ストリーム out または inwidth パラメータをちょうど n に設定します。

目次

[編集] 引数

n - 幅の新しい値

[編集] 戻り値

strstd::basic_ostream<CharT, Traits> または std::basic_istream<CharT, Traits> 型のストリームの名前である場合に式 str << setw(n) または str >> setw(n) が以下のコードが実行されたかのように動作するような、未規定な型のオブジェクトを返します。

str.width(n);

[編集] ノート

ストリームの幅プロパティは以下の関数のいずれかが呼ばれた場合にゼロ (「未指定」を意味します) にリセットされます。

  • 入力
  • 出力

この変更子が入力および出力に対して持つ正確な効果は個々の入出力関数の間で様々であり、それぞれの operator<< および operator>> のオーバーロードのページで個別に説明されます。

[編集]

#include <sstream>
#include <iostream>
#include <iomanip>
 
int main()
{
    std::cout << "no setw:" << 42 << '\n'
              << "setw(6):" << std::setw(6) << 42 << '\n'
              << "setw(6), several elements: " << 89 << std::setw(6) << 12 << 34 << '\n';
    std::istringstream is("hello, world");
    char arr[10];
    is >> std::setw(6) >> arr;
    std::cout << "Input from \"" << is.str() << "\" with setw(6) gave \""
              << arr << "\"\n";
}

出力:

no setw:42
setw(6):    42
setw(6), several elements: 89    1234
Input from "hello, world" with setw(6) gave "hello"

[編集] 関連項目

フィールド幅を管理します
(std::ios_baseのパブリックメンバ関数) [edit]
フィル文字を変更します
(関数テンプレート) [edit]
フィル文字の配置を設定します
(関数) [edit]