Есть ли вероятность, что strcat может когда-нибудь потерпеть неудачу?
Если мы передадим неверный буфер или строку, это может привести к повреждению памяти. Но, кроме этого, возможно ли, что эта функция может вернуть ошибку, например, strcat, возвращающий NULL, даже если переданная строка назначения не равна NULL? Если нет, то почему в strcat вообще указан тип возвращаемого значения?
Я только что упомянул strcat в качестве примера. Но этот вопрос относится ко многим функциям, связанным со строками и памятью (например, memcpy и т. Д.). Я просто хочу узнать причину некоторых из этих, казалось бы, «всегда успешных» функций, имеющих возвращаемые типы.