入出力


C++ の入出力は,出力書式を気にしない場合には, iostream や fstream などで済ますのが楽だろう. 標準入出力ならば,iostream ヘッダを読み込んだあと,

 cin >> a >> b;
 cout << a << "  " << b << endl;
 cerr << a << "  " << b << endl;
となる.型を意識しなくて済むのと, scanf( ) と異なり入力の時に ポインタを意識しなくていいところがよい.要らないデータを読みとばす ときなどは,string ヘッダを読んでおいて,
 string dum;
 cin >> dum;
としておくと,プログラムを組む上では,入力のデータの型を全然意識する 必要がないので楽である.
でも,書式つき出力をするときなどには少し面倒が生じる.例えば,
 cout.setf( ios::fixed );
 cout.precision( 8 );
 cout << setw( 15 ) << 100.0 << endl;
 cout << setw( 15 ) << 20.0 << endl;
とすると,
   100.00000000
    20.00000000
と出力されてうまく小数点が揃う(僕の環境の場合). fixed フラグをセットしないと小数点以下がすべてゼロの場合は, ゼロが省略されてよろしくない.fixed ではなく showpoint フラグをセットしても 小数点以下は省略されないのだが,そうすると,
      100.00000
      20.000000
などという変なフォーマットで出てくる(僕の環境の場合). というわけで,fixed をセットするのがよいだろう. とはいえ,書式つきの場合は printf( ) とかの方が楽な気がする.





戻る