История изменений
Исправление
Dron,
(текущая версия)
:
Ну тут без разницы, так как перед strcpy всё равно стоит проверка, и она там должна быть, а strncpy просто включает проверку в себя. Получается двойная проверка. Плюс проверять до strcpy в том что копироваться ничего не будет, в данном случае мне это и не надо (нафига мне обрезанный путь до файла?).
strncpy удобно если там скопировать первые n символов и тому подобное.
Обрезанные данные с strncpy могут нанести ещё пущий вред чем вылет по ошибке сегментирования.
strncpy тоже не идеальна, что-бы она должным образом работала и буфер надо на 1 убавить передавая ей размер, да и по стандарту она не гарантирует что вставит '\0' это подразумевается будет делаться руками.
gcc '\0' ставит даже для strcpy не спрашивая.
Исходная версия
Dron,
:
Ну тут без разницы, так как перед strcpy всё равно стоит проверка, и она там должна быть, а strncpy просто включает проверку в себя. Получается двойная проверка. Плюс проверять до strcpy в том что копироваться ничего не будет, в данном случае мне это и не надо (нафига мне обрезанный путь до файла?).
strncpy удобно если там скопировать первые n символов и ому подобное.
Обрезанные данные с strncpy могут нанести ещё пущий вред чем вылет по ошибке сегментирования.
strncpy тоже не идеальна, что-бы она должным образом работала и буфер надо на 1 убавить передавая ей размер, да и по стандарту она не гарантирует что вставит '\0' это подразумевается будет делаться руками.
gcc '\0' ставит даже для strcpy не спрашивая.