0

文字列の取得に問題があります。私が使う

getline(cin,string);

しかし、ある種のバグがあり、Enter キーを押すと行がスキップされます。この問題の解決策、または空のスペースを含む文字列を取得する別の関数はありますか?

4

1 に答える 1

2

私の推測では、あなたはあなたがするcin >> someVar前にどこかでやっていると思いますgetline()

cin >> someVar
完全な行を読み取らないが、最初の空白文字で停止し、改行\nは消費されないままになります。これにより、次の行がスキップされます。getline()

このような場合は、

これを修正するには、のcin.ignore()前にステートメントを追加して、ストリームエクストラクタによって入力ストリームに残された改行文字(またはその他の余分な文字)getline()を消費する必要があります。\n>>

于 2011-06-15T08:39:46.393 に答える