2009-10-18 21 views
16

C++でcinから現在の位置から改行文字までを文字列に読み込みたいと思います。読み取られる文字にはスペースが含まれることがあります。 CINが与えられている場合改行文字まで空白を使ってcinを読むには?

string result; 

cin >> result; 

:それは最初のスペースで停止しているため私の最初のパスが失敗し

(cd /my/dir; doSometing)\n 

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

(cd 

を私はされるべきだと思うだろうこれを達成するためにストリームマニピュレータを使用することができますが、skipwは空白とタブでキャリッジリターンをスローするという点では正しくありませんでした。

おそらく私はこのようなstreambufを使用する必要がありますか? (私はこれによって燃やさてしまったので)

streambuf buf; 

cin >> buf; 

答えて

21
std::string str; 
std::getline(std::cin, str); 
+3

注:AIX 5.1で動作するようには表示されません。 stdio.hで定義されている 'fgets'を使う必要がありました。 – Pete

関連する問題