STDOUT在Eclipse中未解决

时间:2014-05-29 15:41:13

标签: eclipse eclipse-cdt

我在使用Eclipse和CDT时遇到问题,问题始于初学者代码,使用 printf()来请求输入, scanf()来存储输入,但是在获得 scanf()参数后,控制台才会显示 printf()参数。

我发现很多线程都与这个问题有关,并且理解它是eclipe中的一个错误,即使使用\ n,缓冲区也没有被正确刷新。 解决方案似乎是在每个 printf()后使用 fflush(stdout)或添加 setbuf(stdout,NULL,_IONBF,0) main()函数的开头。

我添加了 setvbuf(stdout,NULL,_IONBF,0)我也试过 fflush(stdout)但是eclipse说stdout无法解析。

任何人都可以说出为什么以及如何解决这个问题。

谢谢。

Mick Caulton

这是我的代码:

#include <stdio.h>

int main(){ 

//setvbuf(stdout, NULL, _IONBF, 0);

char letter; 
int num1,num2;

printf("Enter any one keyboard character:\n");
// fflush(stdout);
scanf("%c",&letter);

printf("Enter 2 integers separated by a space: \n");
//fflush(stdout);
scanf("%d %d",&num1,&num2);

printf("Numbers input: %d and %d\n",num1,num2);
printf("Letter input: %c",letter);
printf(" stored at %p \n",&letter); 

return 0; 

}

1 个答案:

答案 0 :(得分:0)

如果您在Windows上进行开发,请记住行尾指示符为\r\n(您只使用\n)和Eclipse控制台窗口着名的只是整条线。