[C++] 標準入出力処理

  情報系, プログラミング, C++

標準入出力処理

C++の入出力処理では,「iostream」がある.また,C言語の「stdio.h」をC++仕様に変更された「cstdio」がある.場合によって使い分けると便利である.


出力処理

iostreamを用いた出力処理では,変数の型を気にして処理する必要性がなくなるため、便利である.

#include <iostream>
#include <iomanip>
int main()
{
    // std::cout << 出力したい変数 or 文字列;
    // std::endl は改行する処理
    // 「<<」 を付けると複数の変数or文字列を出力することができる。
    std::cout << "Hello World" << std::endl;
    // 「Hello World」と出力される
  
    int a=0,b=1;
    std::cout << a << " " << b << std::endl;
    // 「0 1」と出力される
  
    double pi=3.1415926535897932384626433832795028841971;
    std::cout << pi << std::endl;
    // 「3.14159」と出力される
  
    // 表示される桁数を変更する
    std::cout << std::fixed;              // 指数表記から固定小数点表記に変更
    std::cout << std::setprecision(15);   // 表示範囲を小数点以下15桁に変更(iomanipのincludeが必要)
    std::cout << pi << std::endl;
}

入出力処理

iostreamを用いた入力処理では,出力処理と同様に変数の型を気にして処理する必要性がなくなる.

#include <iostream>
int main()
{
    int a,b,c;
  
    // std::cin >> データを入れる変数;
    std::cin >> a;
  
    // 「>>」で複数のデータ入力ができる
    std::cin >> b >> c;
}

iostreamによる入出力処理の高速化

「iostream」を用いた入出力処理は,「cstdio」や「stdio.h」の「printf」や「scanf」に比べると処理が遅い.以下のようなことをすると,処理が少し早くなる.

#include <iostream>
int main()
{
    // 「iostream」と「stdio」の関係をきる
    std::ios::sync_with_stdio(false);
  
    // 「std::cin」の高速化
    std::cin.tie(nullptr);
}

 これらを行うとバグを発生させる可能性もあるので注意が必要.

LEAVE A COMMENT