лучший способ получить пользовательский ввод для меню на основе CLI в C - PullRequest
0 голосов
/ 04 сентября 2008

Какой лучший способ получить пользовательский ввод в программе на Си, где выбор ограничен.

Скажем, например, варианты:

А) Распечатать список.
Б) Добавьте 99 в конец списка.
C) Удалить все дубликаты.
5) Сброс 5 раз.

Ввод "А", затем ввод в порядке, Или просто одно нажатие клавиши также подойдет.

Ответы [ 3 ]

1 голос
/ 07 сентября 2008

getchar() или cgetc(), в зависимости от платформы

0 голосов
/ 04 сентября 2008

Маленькое дополнение,

вместо использования

switch(input)

использовать ...

switch (toupper(input))
{
    case 'A':

Это позволит пользователю ввести «a» или «A» и избавит вас от необходимости проверять прописные и строчные буквы

0 голосов
/ 04 сентября 2008

Я использовал что-то простое, например:

int intput()
{
char input = 0;
int ret_val = 0;

read(0, &input, 1);

switch(input) {
case 'c':
    // do c
    break;
case 'p':
    // do p
    break;
case 'd':
    // do d
    break;
case 'q':
    quit = 1;
    break;
case '?':
    PRINT(ENABLE, "c - connect\n");
    PRINT(ENABLE, "p - ping\n");
    PRINT(ENABLE, "d - disconnect\n");
    PRINT(ENABLE, "q - quit\n");
    PRINT(ENABLE, "? - this message\n");
    break;
}

return 0;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...