Почему функция fgets устарела?

ИзРуководство по программированию GNU C:

fgets ("file get string") функция похожа на функцию gets. Эта функцияосуждается - это означает, что он устарел, и настоятельно рекомендуется не использовать его - потому что это опасно. Это опасно, потому что, если входные данные содержат нулевой символ, вы не можете сказать. Не использоватьfgets если вы не знаете, данные не могут содержать ноль. Не используйте его для чтения файлов, отредактированных пользователем, потому что, если пользователь вставляет нулевой символ, вы должны либо обработать его правильно, либо распечатать четкое сообщение об ошибке. Всегда используйтеgetline или жеgetdelim вместоfgets если вы можете.

Я думалfgets Функция останавливается, когда он сталкивается с\0 или же\n; почему эта страница руководства предполагает, что нулевой байт "опасен", когдаfgets должен обрабатывать ввод правильно? Кроме того, в чем разница междуgetline а такжеfgetsи являетсяfgets функция действительно считаетсяосуждается вC99 или будущие стандарты C?

Ответы на вопрос(2)

Ваш ответ на вопрос