2013-04-30 63 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庫,以及所有的網絡資源。