Oracle® Solaris Studio 12.4: C++ ユーザーズガイド

印刷ビューの終了

更新: 2014 年 12 月
 
 

13.3.4 char* の抽出子

この定義済み抽出子は問題が起こる可能性があるため、注意して使用してください。この抽出子は次のように使用します。

char x[50];
cin >> x;

この抽出子は先頭の空白を読み飛ばし、次の空白文字に到達するまで、文字を抽出してそれを x にコピーします。これは終端ヌル (0) 文字で文字列を完了します。入力によって特定の配列がオーバーフローする可能性があるため、この抽出子は注意して使用してください。

さらに、ポインタが、割り当てられた記憶領域を指していることを確認する必要があります。次の例は一般的なエラーを示しています。

char * p; // not initialized
cin >> p;

入力データが格納される場所が不明確なため、プログラムは異常終了することがあります。