0

有一个案例:

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 sido añadida con éxito en el diccionario" 是 addWord 函数的输出。

4

1 回答 1

1

您仍然'\n'在缓冲区中保留上一行的内容,因此当getline尝试从缓冲区获取输入时,它只需要'\n'并假设工作已完成,不允许您输入任何其他内容。

只是放在cin.get()前面getline(cin,auxstr);

于 2012-11-26T05:10:00.193 回答