在Eclipse中运行时,不会出现C ++程序的输入提示

时间:2013-04-26 23:33:47

标签: c++ c 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

为什么在我输入输入之前它不首先显示提示“输入一行”?

1 个答案:

答案 0 :(得分:0)

您需要刷新输出缓冲区。我刚刚添加了std::cout << std::endl;并添加了<iostream>。我建议您开始使用std::cout而不是printf。它的类型安全。我在Eclipse内部进行了测试,没有刷新,线条没有显示,而是使用刷新线。

如果您想要转移到<iostream>,我刚刚从fflush(stdout)测试了<stdio.h>,它也有效。但是,我强烈鼓励这一举动,stdio.h是C的标准,iostream是C ++的标准,因为你正在学习C ++ ......