Дождаться нажатия клавиши ввода в C внутри цикла while?
Я пишу программу на C, и мне нужно подождать, пока пользователь нажмет любую клавишу, чтобы продолжить. Когда я используюgetchar();
это ждетВойти ключ для нажатия. Но когда я использую его внутриwhile
петля, это не работает. Как я могу заставить мой код ждать нажатия любой клавиши, чтобы продолжить цикл?
Вот мой пример кода. Я использую 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;
}