0

ユーザーに文字を入力するように求める簡単なプログラムを書いています。そして、フレーズを入力してもらいます。それがただの1つの文字列であるとき、私は問題がありません。

char c;
string s;
cin >> c;
cin >> s;

しかし、私はフレーズが欲しいとき

cin >> c;
getline(cin, s);

ユーザーが文字を入力してEnterキーを押した後にプログラムを実行すると、フレーズを入力する機会がありません。もちろん、文字を入力してスペースの後にフレーズを入力すると、プログラムは正常に動作します。

逆に、最初の方法で文字を入力し、スペースの後に単一の文字列を入力すると、文字列が記録されません。

なぜこれを行うのですか?

4

2 に答える 2