printf无法正确打印

时间:2012-10-04 01:50:12

标签: c file-io

我的代码提示用户输入文件名,然后在控制台上显示文件的内容。但是,我使用的printf()语句直到最后才打印出来,因此用户不知道输入文件名。

int main(int argc, char * argv[]){
printf("%s", "What file would you like to open?\t");
char filename[100];
scanf("%[^\n]", filename);
printf("You chose:\t%s\n", filename);
return 0;
}

程序当前扫描控制台,然后打印出两个printf()语句。 scanf()语句正常工作,而不是在正确的时间。知道我的问题是什么吗?

编辑:从命令行运行时程序正常工作,但问题仍然存在于Eclipse中。

1 个答案:

答案 0 :(得分:4)

尝试在第一个printf之后添加fflush(stdout);,我认为问题在于printf没有刷新它的缓冲区。

编辑:似乎它是known bug in Eclipse,解决方法是将缓冲区大小设置为零(检查代码的注释)。