我在Code :: Blocks上写了一个CPP程序并编译它(MinGW)。这是一个简单的应用程序,但显示了一个我仍然无法解决的大问题。
#include <iostream>
int main(int argc, char *argv[])
{
std::cout << "Something here";
return 0;
}
当我尝试运行这个程序时(在代码块上[F9 - 编译并运行])我得到了这个结果: Console
什么都没发生......
如果我从代码块中执行它,它就会打开并消失。但在这两个案例中,它是不可杀戮的,我不能杀死这个过程。但是当我尝试重新启动计算机时,我收到一个错误,它表示该程序未正确初始化。 我不知道如何调试程序,我不知道如何继续。你能帮帮我吗?
对于任何语言错误,我很抱歉,我还不是英语大师。谢谢。
修改:
#include <iostream>
int main(int argc, char *argv[])
{
std::cout << "Something here" << std::flush;
return 0;
}
它仍然不起作用。即使使用'\n'
或std::endl
。
答案 0 :(得分:3)
你没有std::flush
你的输出,所以“这里的东西”卡在std::cout
的内部缓冲区上,并且在你的程序结束之前不打印。
要解决这个问题,你可以(选一个):
std::cout << "Something here" << std::endl;
std::cout << "Something here\n";
std::cout << "Something here" << std::flush;
答案 1 :(得分:3)
感谢Bo Persson(在我的帖子中评论过),我通过关闭我的防病毒软件(Avast)来修复它。谢谢!
修改强>
禁用Avast后, std::cout << "Something here";
(不含std::flush
)也能正常工作。