C- getchar () перечитать символы? - PullRequest
0 голосов
/ 12 декабря 2018

Есть ли способ, которым я могу прочитать символ с помощью getchar () и прочитать тот же символ с помощью другого getchar ()?

например, пользователь дает 5, а первый getchar () читает 5, а затемвторой getchar () перечитывает 5.

заранее спасибо!

1 Ответ

0 голосов
/ 12 декабря 2018

Да, вы можете использовать ungetc() для возврата символа во входной поток.

Вот пример программы:

#include <stdio.h>

int main(void) {
    printf("Type something: ");
    int c = getchar();
    printf("Ok, you typed '%c'. Putting it back...\n", c);
    ungetc(c, stdin);
    printf("Reading it again...\n");
    c = getchar();
    printf("Still '%c'. Putting it back again...\n", c);
    ungetc(c, stdin);
    printf("Reading it again...\n");
    c = getchar();
    printf("Still '%c'!\n", c);
}

Запуск его:

Type something: smackflaad
Ok, you typed 's'. Putting it back...
Reading it again...
Still 's'. Putting it back again...
Reading it again...
Still 's'!
...