Проблема с вводом в СИ при одновременно ожидании scanf

Проблема в том, что когда сначала нажимается ctrl+c, затем вводится слово длиной в 5 символов, то затем в main обрезается 5 символов у введенного нового слова. Как очистить буфер ввода, fflush(stdin) не работает, while (getchar()!='\n') тоже.

void sigHandlr(int sign) // Приведение к нижним регистрам
{
    signal(SIGINT, sigHandlr); // Ненадежные сигналы
    char cmd[8];
    scanf("%s", cmd);

}

int main()
{
    signal(SIGINT, sigHandlr); // Ненадежные сигналы
    char asd[10];
    scanf("%s", asd);
    printf("%s\n", asd);
}


Ответы (0 шт):