eclipse调试器将我的用户输入视为cmd,而不是我的程序的输入

问题描述 投票:0回答:1

这是我的代码:

#include <iostream>
#include <iterator>
#include <sstream>
#include <string> 
using namespace std;

int main() {
    cout << "!!!Hello once more" << endl; // prints !!!Hello once more

     string word1 = "a";
     string word2 = "b";

     cout << "enter two words "<< endl;
     cin >> word1 >> word2;
     while(true) {
         cout << word1 << word2 << endl;
         cout << "enter two words "<< endl;
         cin >> word1 >> word2;

     }
}

这应该在用空格隔开的一行中读取两个单词,并将它们存储在我的字符串中,然后再次打印出来。根据http://www.cplusplus.com/doc/tutorial/basic_io/cin提取器将空间视为分隔符。

这里是我点击cin之前调试器及其输出的屏幕截图:

image

第一张图片是我在阅读用户输入之前的调试器。

下一张图片是我输入jack jill并按Enter

后发生的情况

image

为什么调试器将用户输入作为命令处理?我以为控制台是我与程序进行交互的地方?

我测试了程序本身。如果使用.exe,它可以正常工作。如果我使用Eclipse的调试器,它将无法正常运行,因此这可能是Eclipse调试器的问题。

c++ eclipse cin
1个回答
1
投票

您的程序似乎对我有用。该错误的原因是调试程序将jack jill解释为命令。注意Undefined command "jack" try "help".错误消息。

尝试在未启用调试模式的情况下进行编译。这是cpp.sh的输出:

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.