在一个案例中有一个案例:
case 3:
cout << "Digite la palabra que desea añadir: ";
cin >> word;
cout << "Digite el significado de la palabra: ";
getline(cin,auxstr);
result = addWord(word,auxstr);
但是当我编译&amp;运行程序就好像我按下Enter键进入getline而不允许我输入一行:
Digite la opción adecuada: 3
Digite la palabra que desea añadir: a
Digite el significado de la palabra: La palabra a ha sido añadida con éxito en el diccionario
“La palabra a hasidoañadidaconéxitenen diccionario”是addWord函数的输出。
答案 0 :(得分:1)
缓冲区中仍然有前一行的'\n'
,所以当getline
尝试从缓冲区获取输入时,只需要'\n'
并假设作业是完成后,不允许你输入任何其他内容。
只需将cin.get()
放在getline(cin,auxstr);