C言語を始めています。IDE として Eclipse (juno) を使用し、CDT プラグインをインストールしています。mingw64 (GCC Compiler) も解凍しました。動作するかどうかを確認するために、非常に単純なプログラムを作成しました。これは私のコードです:
#include <stdio.h>
int main()
{
int age;
printf("Hello, please enter your age:\n");
scanf("%d", &age);
printf("Your age is %d", age);
return 0;
}
問題は、出力バッファーが最初の文字列値で満たされているprintfが、コンソールに出力されないことです。数値を入力する必要があり、その場合にのみバッファがすべてのデータをコンソールに注ぐため、コンソールは次のように表示されます。
1
Hello, please enter your age:
Your age is 1
期待されるものの代わりに:
Hello, please enter your age:
1
Your age is 1
fflush(stdout)今、最初の後に使用できることがわかりましたがprintf、このソリューションはエレガントで必要でさえないと思います。これをどのように克服できるかについてのアイデアはありますか?
編集- 私は大学でこれを学んでいるので、コースで学ばなかったものは何も使用できないので、使用できるのはprintfscanf
新しい編集-これについての説明を見つけたと思います。私が言ったように、私はEclipse内のコンソールビューに出力しています。奇妙なことに、Windows のコマンド ラインからプログラムをコンパイルして実行すると、目的の結果が得られます。したがって、Eclipseは実際には出力をファイルに書き込んでコンソールウィンドウに表示していると思います。実行構成でEclipseに実際のコマンドラインウィンドウを開くように強制するにはどうすればよいですか?