getline の挙動についての質問。 – プログラミング – Home

getline の挙動についての質問。
 
通知
すべてクリア

getline の挙動についての質問。


f_take2000
 f_take2000
(@f_take2000)
ゲスト
結合: 22年前
投稿: 18
Topic starter  

VC++6.0で、getlineをつかうと、はじめの入力で、改行2回いれないと、制御を
戻しません。gccでは、改行が一回で、制御を返します。何か原因があるのでしょうか?
以下のプログラムだと、次のような動きになります。

期待される動き(gcc)
->hoge<改行>
output:hoge
->

vc++ ver6.0
->hoge<改行>
<改行>
output:hoge

->

#include <iostream>
#include <string>

using namespace std;
main()
{
string in;
getline(cin,in);
cout << output:<<in<<endl;
}

環境:windows2000 vc++6.0
よろしくお願いします。


引用解決済
トピックタグ
dairygoods
 dairygoods
(@dairygoods)
ゲスト
結合: 23年前
投稿: 1421
 

バグです。
http://support.microsoft.com/default.aspx?scid=KB;EN-US;q240015&


返信引用
f_take2000
 f_take2000
(@f_take2000)
ゲスト
結合: 22年前
投稿: 18
Topic starter  

返事ありがとうございます。
サンプルは、動くようになりました。
ただ、私のプログラムのほうは、問題がまだ発生してしまいます。
コンパイルオプション MDが、悪さをしてるみたいです。サンプルのほうも、このオプ
ションをつけて、コンパイルすると、問題がまた出てしまいます。
何かいい方法はありますか?


返信引用
tetrapod
 tetrapod
(@tetrapod)
ゲスト
結合: 22年前
投稿: 830
 

とりあえずここを参照。
http://www.dinkumware.com/vc_fixes.html

あとは STLport 等に乗り換えてみるとか。
http://www.stlport.org


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました