プログラムがデータの入力を受けるとき、特に指定がない場合に使われる標準の入力元のことです。
元々は UNIX系の OS に存在する標準ストリームの1つですが、現在では多くの環境、多くのプログラミング言語で採用されています。標準ストリームにはほかに、標準的な出力先である標準出力、エラーに関する標準的な出力先である標準エラーがあります。
標準ストリームは、プログラムから特別に使用開始の手続きをせずとも、あらかじめ使用可能な状態になっています(正確にはどこかのタイミングで準備されているわけですが、少なくとも意識せずに使えるようにはなっています)。
標準入力が具体的には何であるかは環境によって異なりますが、多くの場合、キーボードです。この設定は変更できる場合もあります。また、プログラムが標準入力から入力を受け取るように作られていても、リダイレクトによって、実際の入力元を切り替えられる場合もあります。
C言語の標準ライブラリには stdin という定義があり、FILE構造体のオブジェクトを指すポインタになっています。このオブジェクトは、標準入力のストリームに結びつけられていて、fscanf関数などのように、FILE構造体のオブジェクトのポインタを引数に持つ関数に渡して使用できるようになっています。
(stdout, "%d", &value); fscanf
実際のところ、標準入力を使うことが分かっているのなら、標準入力専用に特化した標準関数を使うのが普通です。たとえば scanf関数は、fscanf関数を標準入力専用にしたものです。
("%d", &value); scanf
外部のファイルから入力を行う場合、fopen関数を使って、FILE構造体のオブジェクトを指すポインタを入手する必要がありますが、stdin はプログラムの実行開始直後に自動的に使用可能な状態が整えられています。
stdin については、C言語編のリファレンスページを参照してください。また、FILE構造体のオブジェクトを使ったファイル操作の処理については、C言語編第39章(およびそれ以降の数章)で解説しています。
C++ の標準ライブラリには std::basic_istream というクラステンプレートがあり、そこから作られる std::cin というクラスオブジェクトが定義されています。std::cin を使って、標準入力からの入力を受け取れます。
::cin >> value; std
C++ の標準入力の概要については、C++編【標準ライブラリ】第27章を参照してください。
Programming Place Plus のトップページへ
はてなブックマーク に保存 | Pocket に保存 | Facebook でシェア |
X で ポスト/フォロー | LINE で送る | noteで書く |
RSS | 管理者情報 | プライバシーポリシー |