[英]Input prompt for C++ program doesn't appear when running in Eclipse
我开始使用c ++进行桌面编程,并且在运行以下代码时:
#include <stdio.h>
int main (int argc, char ** argv){
enum{ max_string = 127};
static char string[max_string + 1] = "";
printf("Type in a line\n");
fgets(string,max_string,stdin);
printf("the string is %s\n",string);
return 0;
}
在Eclipse中运行程序时,没有看到“键入一行”提示。 相反,如果我只键入响应,则会看到键入的内容, 然后输入:
Type in a line
the string is Hello World
为什么在我输入内容之前,它没有首先显示提示“在一行中输入”?
您需要刷新输出缓冲区。 我刚刚添加了std::cout << std::endl;
并包含<iostream>
。 我建议您开始使用std::cout
而不是printf
。 类型安全。 我在Eclipse内部对此进行了测试,但没有刷新,但没有刷新,也没有显示该行。
如果你不想要移动到<iostream>
我只是测试fflush(stdout)
从<stdio.h>
和它的作品了。 但是,我强烈建议您这样做,stdio.h是C的标准,iostream是C ++的标准,因为您正在学习C ++ ...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.