很快就会有一个案例:

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);之前

10-08 08:13