很快就会有一个案例:
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);
但是当我编译并运行程序时,就好像我按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 ha sidoañadidaconéxitoen el diccionario”。
最佳答案
您仍然在缓冲区的前一行中有'\n'
,因此,当getline
尝试从缓冲区中获取输入时,它仅采用'\n'
并假定作业已完成,不允许您输入其他内容。
只需将cin.get()
放在getline(cin,auxstr);
之前