以下のループに入り、最初の命令 cmdstd:getline(std::cin,cmdInput); を入力したのはなぜですか。入力された入力を読み取りません。たとえば、「b 8」と入力すると、「cmd is b 8」と表示されますが、次の読み取り std::getline(std::cin, input); にスキップします。代わりに「それはbです」と表示します
while (editingMode == TRUE) {
std::getline(std::cin, cmdInput);
istringstream cmdiss(cmdInput);
cout << "you entered: " << cmdInput <<endl;
if (cmdInput != "") {
copy(istream_iterator<string>(cmdiss),
istream_iterator<string>(),
back_inserter<vector<string> >(tokens));
std::cout << "cmd is " <<tokens.at(0) << std::endl;
}
//*************************
std::getline(std::cin, input);
istringstream iss(input);
if(input != ""){
copy(istream_iterator<string>(iss),
istream_iterator<string>(),
back_inserter<vector<string> >(tokens));
std::cout << "it is " << tokens.at(0) <<std::endl;
createInstruction(tokens);
}