C/C++中cin.get()の使い方とEOFの使い方

1182 ワード

1、EOF   
 
  
/* End of file character.
   Some things throughout the library rely on this being -1.  */
#ifndef EOF
# define EOF (-1)
#endif


EOFはC言語で、あるいは、より正確には、C標準関数ライブラリにおいてファイル終端子(end of file)を表す.whileサイクルにおいてファイル終端フラグとしてEOFを用い、EOFの値は通常-1である(異なるC++システムで用いられるEOF値が異なる可能性がある)すなわち、読み出し失敗戻り値が-1である.EOFをファイル終了フラグとするファイルは、テキストファイルでなければならない.テキストファイルでは、データはいずれも文字のASCIIコード値として格納されている.ASCII世代コード値の範囲は0~255であり、-1が現れる可能性はないので、EOFをファイル終了フラグとして用いることができる
2、cin.get()の使い方
get()関数はcin入力ストリームオブジェクトのメンバー関数です.
指定された入力ストリームから1文字(空白文字を含む)を抽出するために使用され、関数の戻り値は読み込まれた文字のASCII値である.入力ストリームのファイルの終端に遭遇した場合、関数値はファイルの終端フラグEOF(End OfFile)を返し、一般的には-1でEOFを表し、0または正の値ではなく-1で、文字のASCIIコードと混同しないことを考慮し、しかし、異なるC++システムで使用されるEOF値は異なる可能性がある.
次の2つの例を参考にします.
/* Time:2017/2/12 */#include #include using namespace std; int main(){//以下の2つの形式の違いに注意/*int ch;while((ch=cin.get()!=EOF){cout<}*/while(cin.get()!=EOF){cout<}return 0; }
ここでは2つ目のみを説明します.1つ目は何を入力して何を読み取るか、2つ目は入力ストリームキューの値をジャンプ出力します(注:最後のリターンキーのノックも入力ストリームキューに保存されます)