Что означает «l» в strlcpy
? Я уверен, что после того, как вы спросите, это будет ужасно очевидно, но я не могу ни разу не выработать надежный ответ.Что такое «l» для strlcpy?
1
A
ответ
7
strlcpy
был представлен в USENIX 1999 Тоддом Миллером и Тео Раадтом (проект OpenBSD).
Из бумаги Proceedings, strlcpy and strlcat — Consistent, Safe, String Copy and Concatenation, в реферате написано:
Предлагаемые функции замены, strlcpy() и strlcat(), решить эти проблемы, представляя API, предназначенный для безопасного строковых копий (см. рисунок 1 для прототипов функций). Обе функции гарантируют NUL-завершение, принимать в качестве параметра длины размер строки в байтах, и обеспечивают простой способ обнаружения усечения
Поэтому довольно очевидно, что l
стенды для длины.
Вы имеете в виду, что вы не можете найти ответ на [man-страницах] (https://www.freebsd.org/cgi/man.cgi?query=strlcpy&sektion=3)? –
Я бы сказал «длина». – Quentin
[ответ на другой вопрос SO] (http://stackoverflow.com/a/2115015/434551): «strlcpy - действительно настоящая функция копирования с ограниченной длиной, созданная для работы с C-строками». Кажется, 'l' в' strlcpy' означает 'ограниченная длина'. –