2013-04-30 50 views
0

这不起作用。std :: getline()未结束/捕获

playing = true; 
while (playing) { 
    std::string command; 
    std::cin.ignore(1); 
    std::getline(std::cin, command); 
    execute(command); 
    std::cout << "asdasd"; 
} 

每当程序运行时,只要按Enter键就不会输入。最后的cout永远不会启动,执行命令也不会执行。所以我可以继续输入任何我想要的东西,并且由于某种原因它永远不会输入。我没有在程序的任何地方使用std :: cin。

+0

它对我来说工作得很好。仅供参考,我使用gcc 4.2.1在mac下编译。你在使用什么平台? – 2013-04-30 19:13:28

+0

GCC 4.8 with mac。这段代码在一个小时前工作得很好,我尝试了重新启动和一切。 – Astrognome 2013-04-30 19:31:17

回答

0

我已经想通了。在我的项目中,我使用pugixml,它似乎与cin一起拧,并使其无法工作。我最终转向了Poco,因为它包含一个非常好的xml库,以及所有的网络资源。

相关问题