我有一个程序,允许用户输入命令和坐标。示例GO 1 2
。当用户仅输入一个坐标而未指定另一个坐标时,我想引发异常。示例GO 1
,但程序等待我输入下一个参数。我不希望这样,我希望它只允许用户在一行中输入所有内容。
这是我的代码:
cout << "Enter command: ";
string command;
int x, y;
cin >> command >> newX >> newY;
if(LegalCommand(command)){
if(!cin){
cin.clear();
cin.ignore(1000, '\n');
cout << "Command not valid!" << endl;
}
}
最佳答案
读入字符串并流式传输:
string line;
getline(cin, line);
istringstream in(line);
in >> kom >> newX >> newY;
关于c++ - C++中按ENTER键后如何继续执行程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43513205/