だから私は次の問題に遭遇しました。私の目標は、ユーザーが「cin >>」に何も入力せず、行を空白のままにし、ENTER キーを押して先に進むまで、ユーザー入力を何度も取得し続けるループを作成することです。ループから抜け出し、残りのプログラム実行を続行することになっています。このようなもの:
do {
cout << "\nEnter a name: ";
cin >> input1;
if (input1.empty())
{
break;
}
else
{
user_name = input1;
}
} while (!input1.empty());
ご覧のとおり、既に empty() 関数を使用してみましたが、うまくいきませんでした。プログラムは単純にループにとどまり、Enter キーを何度押しても抜け出しません。名前を入力するように促され続けます。私も次のようなものを使用してみました
if (input1 == "")
しかし、それもうまくいきません。誰でも助けることができますか?このループから抜け出すにはどうすればよいですか?
更新: OK みんな、私はあなたの推奨事項を試してみましたが、うまくいきました! どうもありがとう!残念ながら、getline 関数は機能しますが、新しい問題も発生しました。基本的に、最初の最初のループで、プログラムは名前の入力を求めます。名前を入力すると、名前が user_name に格納されます。ただし、2番目のループでは、プログラムは入力を入力する機会さえ与えず、単に「名前を入力してください:」と出力し、すぐにループを終了して、残りのプログラム実行を続行します。 . なぜこうなった?