ユーザーに文字を入力するように求める簡単なプログラムを書いています。そして、フレーズを入力してもらいます。それがただの1つの文字列であるとき、私は問題がありません。
char c;
string s;
cin >> c;
cin >> s;
しかし、私はフレーズが欲しいとき
cin >> c;
getline(cin, s);
ユーザーが文字を入力してEnterキーを押した後にプログラムを実行すると、フレーズを入力する機会がありません。もちろん、文字を入力してスペースの後にフレーズを入力すると、プログラムは正常に動作します。
逆に、最初の方法で文字を入力し、スペースの後に単一の文字列を入力すると、文字列が記録されません。
なぜこれを行うのですか?