當我用從CIN和/或函數getline輸入麻煩試圖調試C++時讀取正確的。當我運行而不是調試時它工作正常。我使用MinGW編譯器/調試器(64位)在Windows 8.1中使用Eclipse neon CDT。運行示例程序隔離使用函數getline用於輸入和提取的第一個字符進行比較的問題:程序輸入(CIN或函數getline)運行,但不進行調試
while (true) {
cout << "Enter x to exit: ";
getline(cin, input);
myChar = input[0];
if (myChar=='x') {
break;
}
cout << "You entered: " <<myChar<<endl;
}
cout <<"Exiting..."<<endl;
當我運行它 - 它完美的作品。然而,當我嘗試調試,它要麼a)不等待輸入,彌補了它自己的,或b)忽略了我的輸入,並彌補了它自己。在不同的項目中進行實驗時,我已經看到了這兩種情況。
我想,也許我需要確保它在讀字符爲UTF-8。但我發現的設置似乎是爲文本編輯器或文本文件(窗口 - >首選項 - >常規 - >工作區)...而不是控制檯。
,我讀了有時對於控制檯輸入問題和使用本地Windows控制檯,而不是IDE集成一個如這裏所描述的嘗試: http://nicolas.riousset.com/eclipse-how-to-debug-a-c-console-application-using-a-native-dos-console-instead-of-the-ide-integrated-one/
不幸的是後來我試圖啓動調試器時,只是得到一個錯誤:
錯誤未能執行MI命令最後發射序列:記錄錯誤消息從調試器後端:處理記錄:當前體系結構不支持記錄功能。過程記錄:當前體系結構不支持記錄功能。
不幸的是吧 - 已經運行neon.3。剛剛上週六下載了它。 CDT版本是9.2.1 – GuitarGirl
@GuitarGirl:有趣。我會鼓勵你[提交錯誤報告](https://bugs.eclipse.org/bugs/enter_bug.cgi?product=CDT&component=cdt-debug)。 – HighCommander4