La lecture de clé d'entrée dans une boucle en C

Comment puis-je lire sur la touche entrée dans une boucle plusieurs fois?

J'ai essayé ce qui suit, sans résultat.

char c;
for (i=0; i<n; i++){
    c = getchar ();
    fflushstdin ();
    if (c == '\n'){
        //do something
    }
}

Et fflushstdin:

void fflushstdin (){
    int c;
    while ((c = fgetc (stdin)) != EOF && c != '\n');
}

Si j'ai lu tout autre caractère au lieu de la touche entrée, il fonctionne parfaitement, mais avec la touche enter En quelques itérations j'ai appuyer sur entrée 2 fois.

Grâce.

EDIT: je suis à l'exécution du programme par le biais de putty sur windows et le programme est exécuté sur un virtualisé linux mint sur virtual box.

  • getch() lit une clé de frapper sans attendre appuyez sur la touche entrée. getchar() nécessite que vous appuyez sur entrée, et vous vous retrouvez à frapper deux fois.