16

C++ の cin から、現在の位置から改行文字までを文字列に読み取りたいと考えています。読み取る文字にはスペースが含まれる場合があります。最初のスペースで停止するため、最初のパスは失敗します。

string result;

cin >> result;

cin が与えられた場合:

(cd /my/dir; doSometing)\n

変数結果は次のもののみを取得します。

(cd

これを達成するためにストリームマニピュレータを使用できるはずだと思いますが、skipws は、スペースとタブでキャリッジリターンをスローするという点で正しくありませんでした。さらに、先頭の空白をスキップするように聞こえます。

おそらく、このような streambuf を使用する必要がありますか?

streambuf buf;

cin >> buf;
4

1 に答える 1

22
std::string str; 
std::getline( std::cin, str);
于 2009-10-18T01:03:42.100 に答える