Jak ograniczyć funkcję scanf w C do drukowania błędu, gdy wejście jest za długie?

Chcę ograniczyć funkcję scanf, gdy wprowadzam na przykład achar* array <String...> który ma więcej niż 30 znaków, nie dostanie go, a moje dane będą błędne.

Mam podpowiedź, aby użyć [^ n] lub czegoś podobnego, ale nie rozumiem, jak to zrobić? Wiem, że mogę użyćscanf("%30s"..) ale nie chcę, aby dane wejściowe były poprawne i tylko błąd.

Każda pomoc byłaby świetna.

questionAnswers(5)

yourAnswerToTheQuestion