第11章C++I/Oシステム(チェックタイムプール)


1.I/Oストリームにバッファが内蔵されているという説明に誤りはありますか?
1)標準I/Oストリームは内部バッファを有する.
2)flushコマンドが出力ストリームに存在するのはバッファのためである.
3)C++標準入力ストリームは、入力時にすぐにアプリケーションに渡されます.
4)C++標準はストリームI/Oであるが、他のI/O方式は定義されていない.
答:3日
2.C++の標準I/Oライブラリの説明に誤りはありますか?
1)2003年以前は,C++I/Oライブラリは1文字を1バイトとしてしか処理できなかった.
2)最新規格のC++I/Oライブラリはテンプレートで作成されています.
3)ios、istream、ostream、iostreamなどは、従来はC++I/Oストリームクラス名であり、現在のアプリケーションでは使用できませんでした.
4)C++I/Oライブラリを使用して、1文字が2バイトを超えるマルチ言語を入力できるようになりました.
答:3日
解答:使用できます.
3.次はキーボードからEOF(ctrl-zキー入力、^z)に遭遇するまで、文字を読み画面に出力するコードです.スペースに適切なコードを挿入します.
int ch;
while(____) {
	cout.put(ch);
}
答え:
int ch;
while((ch = cin.get()) != EOF) {
	cout.put(ch);
}
4.ハングル文字は下記のコードで読めますか?理由を言う.
char ch;
cin >> ch;
答え:読めません.cinはbasic istreamテンプレートからcharタイプに具体化して生成されるオブジェクトであるため、charタイプの文字のみを処理し、2バイトの韓国語は処理できない.
5.次のコードを説明し、文章を空白にします.
char buf[80];
cin.getline(buf, 80, '\n');
このコードは、鍵が入力されるまで文字列を読み出します.取得可能な文字の総数は個で、文字列を読み出してcinのバッファから文字を削除します.このコードでハングルが読めます.
答え:<.Enter>,79,"n",あります
6.キーボードでCircleオブジェクトを読み込み、画面に再出力します.
Circle donut;
cin >> donut; // 키보드로부터 값을 읽어 donut 완성
cout << donut; // donut 객체 출력
(1)<<と>>演算子関数のプロトタイプはそれぞれ何ですか.
答:ostrem&オペレータ<(ostrem&,Circle);istream& operator >> (istream&, Circle&);