メンバー関数istream& istream::getline(char* s, streamsize n, char delim);
を使用すると、次の 3 つのいずれかが発生するまで、ストリームから文字を抽出できます。
- 指定された区切り文字が見つかり、
n - 1
文字がストリームから読み取られる、または- EOF またはエラーが発生する
明らかに、条件 3 (エラーが発生する) は簡単に検出できます。しかし、呼び出し元はどのようにして条件 (1) と (2) を区別できるのでしょうか? 区切り文字があったかどうかをどのように判断できますか? 文字が読み取られた可能n - 1
性がありますが、区切り文字が見つかりませんでした。