0
はここで基本的なコードスニペットです成功:は `cin.getlineは()`
基本的にwhile (true)
{
cin.getline(str, STRSIZE);
if (str[0] == '\n') { break; }
}
、ユーザの入力だけで孤独なリターンキーは、ループを終了することになっです。 \n
がフラッシュされ、str
に決して終わらないので、孤独な\n
が入力されたことを確認するために、もちろん、このコードは機能しません。なぜこれがうまくいかないのか不思議ではない。なぜだか知っているよ。
どのようにあなたが孤独
\n
が故にwhile-loop
を終了し、入力されたことを確認することができますか?しかしwhile (cin >> str);
:だけ私の実際のコードでは、時間
で一つの単語を取る
>>
、
は、私は1つが次の操作を行うことができます知っていますwhile-loop
ではなく、for-loop
が使用されます。
ああ、私は() '' cin.getlineを呼び出すときに、 'str'はstr'が前に持っていた'というゴミを\ '0'に設定し、いないされます。
あなたは使用することができますコール? –
@SirJony、それは正しいことです。 'str'は' \ 0'ではなく空の文字列に設定されます。 –
違いは何ですか?ところで、 'string 'ではなく' char [] 'を使っています。私はそれを明確にしないことをお詫びします。 –