带有getline(cin,str)空格的字符串;错误

时间:2012-11-26 05:08:25

标签: c++ string spaces

在一个案例中有一个案例:

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函数的输出。

1 个答案:

答案 0 :(得分:1)

缓冲区中仍然有前一行的'\n',所以当getline尝试从缓冲区获取输入时,只需要'\n'并假设作业是完成后,不允许你输入任何其他内容。

只需将cin.get()放在getline(cin,auxstr);

之前