Требуется написать защиту от дурака на си, суть в том, чтобы выполнялась проверка на тип символов(разрешены только целые числа) и длину строки (не больше 3 символов). Пробовал инициализировать строку, выделял память на 3+1 символа, затем через scanf водил строку, после чего выполнялась проверка на символы и длину по-элементно. Но когда я вводил числа типа «9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999...9999», то буфер строки переполнялся и программа завершалась с ошибкой. Выделять память в 9999...999 символов не считаю правильным решением. После всех проб решил попробовать getche, но в gcc его походу нет, скачал библиотеку ncurses.h, тоже не помогло. Как можно решить эту проблему и есть ли аналоги getche для gcc?