Ввод строки символов в массив. Ввод осуществляется до восприятия возврата каретки или заполнения массива

Добрый Вечер. мне нужно выполнить такую задачу:

Разработать программу, осуществляющую ввод строки символов в 42- байтный массив. Ввод осуществляется до восприятия возврата каретки или получения 40 символов. Если в первых 41 символе нет возврата каретки (код 13) на терминал выводится сообщение "BUFFER OVERFLOW", в противном случае к кода возврата каретки добавляется код перевода строки (код 10).

Весь вечер потратил в попытка найти какую-либо информацию в интернете, но безуспешно. Есть ли у кого какие-либо мысли по этому поводу? Возможно участки кода или готовая программа. Буду очень признателен.

Заранее большое спасибо и приятного вечера.