Warten Sie, bis drücken Sie die EINGABETASTE in C innerhalb einer while-Schleife?

Ich Schreibe ein C-Programm und ich muss warten für den Benutzer, eine Taste zu drücken, um fortzufahren. Wenn ich getchar(); wartet er für die Enter - Taste gedrückt werden. Aber wenn ich es in einem while Schleife, es funktioniert nicht. Wie kann ich meinen code warten, bis eine beliebige Taste gedrückt werden, um weiterhin die Schleife?

Hier ist mein code-Beispiel. Ich bin mit GNU/Linux.

#include <stdio.h>
#include<stdlib.h>
int main()
{
    int choice;
    while(1) {
        printf("1.Create Train\n");
        printf("2.Display Train\n");
        printf("3.Insert Bogie into Train\n");
        printf("4.Remove Bogie from Train\n");
        printf("5.Search Bogie into Train\n");
        printf("6.Reverse the Train\n");
        printf("7.Exit");
        printf("\nEnter Your choice : ");
        fflush(stdin);
        scanf("%d",&choice);

        switch(choice)
        {
            case 1:
                printf("Train Created.");
                break;
            case 2:
                printf("Train Displayed.");
                break;
            case 7:
                exit(1);
            default:
                printf("Invalid Input!!!\n");
        }

        printf("Press [Enter] key to continue.\n");
        getchar();
    }

    return 0;
}
Verwenden _getch statt.
ich bin mit linux.funktioniert nicht. undefined reference to `_getchar'
Ich sagte _getch, nicht _getchar!!!
gleichen Fehler. undefined reference to _getch
Ich denke, es gibt keine conio.h auf linux. es ist die windows-Bibliothek.

InformationsquelleAutor TuxBot | 2015-02-07

Schreibe einen Kommentar