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 に答える