НИКОГДА НИКОГДА НЕ СКАЧАТЬ АРБИТРАЖНЫЕ СТРОКИ . Это источник дыр в безопасности и общий источник ошибок, о которых вам будет позже трудно найти. Вы можете использовать scanf для поиска строк, если вы неявно указываете максимальную длину строки для чтения (читайте о спецификаторах формата scanf). Но в вашей ситуации быстрее и безопаснее использовать fgets. Прочитайте строку. Проверьте, действительно ли вы прочитали его (по возвращаемому значению fgets), а затем проверьте, является ли первый символ (если он действительно существует) '\ n'. Если это так, то пользователь запросил пустую строку.
Кроме того, получив строку, вы можете безопасно проанализировать ее с помощью sscanf для сообщения, которое вам нужно проанализировать.