先頭へ戻る

標準入力 | Programming Place Plus 用語集

Programming Place Plus トップページ -- 用語集

先頭へ戻る

名称


解説

プログラムデータ入力を受けるとき、特に指定がない場合に使われる標準の入力元のことです。

元々は UNIX系の OS に存在する標準ストリームの1つですが、現在では多くの環境、多くのプログラミング言語で採用されています。標準ストリームにはほかに、標準的な出力先である標準出力エラーに関する標準的な出力先である標準エラーがあります。

標準ストリームは、プログラムから特別に使用開始の手続きをせずとも、あらかじめ使用可能な状態になっています(正確にはどこかのタイミングで準備されているわけですが、少なくとも意識せずに使えるようにはなっています)。

標準入力が具体的には何であるかは環境によって異なりますが、多くの場合、キーボードです。この設定は変更できる場合もあります。また、プログラムが標準入力から入力を受け取るように作られていても、リダイレクトによって、実際の入力元を切り替えられる場合もあります。

C言語の場合

C言語標準ライブラリには stdin という定義があり、FILE構造体のオブジェクトを指すポインタになっています。このオブジェクトは、標準入力のストリームに結びつけられていて、fscanf関数などのように、FILE構造体のオブジェクトのポインタを引数に持つ関数に渡して使用できるようになっています。

fscanf(stdout, "%d", &value);

実際のところ、標準入力を使うことが分かっているのなら、標準入力専用に特化した標準関数を使うのが普通です。たとえば scanf関数は、fscanf関数を標準入力専用にしたものです。

scanf("%d", &value);

外部のファイルから入力を行う場合、fopen関数を使って、FILE構造体のオブジェクトを指すポインタを入手する必要がありますが、stdin はプログラムの実行開始直後に自動的に使用可能な状態が整えられています。

stdin については、C言語編のリファレンスページを参照してください。また、FILE構造体のオブジェクトを使ったファイル操作の処理については、C言語編第39章(およびそれ以降の数章)で解説しています。

C++ の場合

C++ の標準ライブラリには std::basic_istream というクラステンプレートがあり、そこから作られる std::cin というクラスオブジェクトが定義されています。std::cin を使って、標準入力からの入力を受け取れます。

std::cin >> value;

C++ の標準入力の概要については、C++編【標準ライブラリ】第27章を参照してください。


参考リンク

更新履歴


用語集のトップページへ

Programming Place Plus のトップページへ



はてなブックマーク に保存 Pocket に保存 Facebook でシェア
Twitter でツイート Twitter をフォロー LINE で送る
rss1.0 取得ボタン RSS 管理者情報 プライバシーポリシー