2
我有提示用户输入文件名的代码,然后在控制台上显示文件内容。但是,我使用的printf()语句直到最后才会打印出来,所以用户不知道输入文件名。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中。
是与stdout相关的吗?我认为scanf使用stdin? – Krypton
我在程序中添加了该行,但它仍然不能在Eclipse中使用。 – nh0815
@ nh0815然后,你可以尝试在你的printf之前添加'setvbuf(stdout,NULL,0,_IONBF)',看看它是否有效? – lccarrasco