Страницы

Поиск по вопросам

вторник, 14 мая 2019 г.

Необязательный параметр scanf

Хочу сделать в программу интерфейс. Чтобы писали например "push 982" и в массив попадало 982. Но также хочу реализовать команды: pop и break. Но считывание в бесконечном цикле я произвожу таким образом: scanf("%s %d", &cmd, &num); cmd - сама команда, num - число. И из-за этого формата человеку приходится писать "pop 0" или "break 0". Так как формат введёный в scanf требует пробел и число, иначе не воспринимает. Можно ли как-нибудь сделать ,чтобы num - был необязательным и чтобы если пишешь слово без числа, оно всё равно бы считывалось? Или это реализовывать можно только посимвольным считыванием? (тогда это не стоит того)


Ответ

scanf("%s", &cmd); if (!strcmp(cmd, "push") { scanf("%d", &num); ... } else {...} не канает?

Комментариев нет:

Отправить комментарий