ページ 11

eclipse 標準入力があるときのデバッグ

Posted: 2018年8月26日(日) 19:45
by fly3555
eclipseのC/C++言語で書かれたプログラムのデバッグについて、

標準入力を要求するプログラムのデバッグを実行すると、コンソールに入力を打ち込んでも変数に反映されず、代わりに「55」や[41」などのランダムな数字が入ります。
「実行」->「デバッグの構成」->「共通」タブ->「標準入出力」では「コンソールに割り当て」にチェックが入っています。

コンソールから標準入力を入れるにはどうすればよいのでしょうか。

Re: eclipse 標準入力があるときのデバッグ

Posted: 2018年8月26日(日) 20:40
by Math
>標準入力を要求するプログラムのデバッグを実行すると、コンソールに入力を打ち込んでも変数に反映されず、代わりに「55」や[41」などのランダムな数字が入ります。

標準入力を実行する前に fflush(stdout); で 標準出力バッファーを強制フラッシュしてはどうですか。

Re: eclipse 標準入力があるときのデバッグ

Posted: 2018年8月26日(日) 20:59
by fly3555
入れてみましたが、解決しませんでした。

Re: eclipse 標準入力があるときのデバッグ

Posted: 2018年8月26日(日) 21:28
by Math
IDE でなくConsoleで(コマンドプロンプト)で動かしたときは正常ですか。

Re: eclipse 標準入力があるときのデバッグ

Posted: 2018年8月26日(日) 22:04
by Math
eclipseでC/C++言語を使うのはややこしくて断念したのですが(Javaは良かった)(環境Windows10)

https://teratail.com/questions/8745
http://d.hatena.ne.jp/C100daysdiary/20110123/1295782899
のようなバグがあるようです。

環境と 実際のコードを提示していただけませんか。

Re: eclipse 標準入力があるときのデバッグ

Posted: 2018年8月28日(火) 22:32
by fly3555
Math さんが書きました:
6年前
IDE でなくConsoleで(コマンドプロンプト)で動かしたときは正常ですか。
正常です。
Math さんが書きました:
6年前
環境と 実際のコードを提示していただけませんか。
環境はWindows 10, MinGW6.3.0で、コードは

コード:

#include <bits/stdc++.h>

using namespace std;

int main() {
	int N;
	fflush(stdout);
	cin >> N;
	cout << N << endl;
	return 0;
}
です。