Strlcpy: различия между версиями

[отпатрулированная версия][отпатрулированная версия]
Содержимое удалено Содержимое добавлено
мНет описания правки
→‎Преамбула: аналоги strncpy/strncat, НЕ strcpy/strcat
Строка 3:
'''strlcpy''' и '''strlcat''' — нестандартные функции, созданные в качестве замены часто используемых некорректным образом аналогов [[Стандартная библиотека|стандартной библиотеки]] [[Язык программирования|языка программирования]] [[Си (язык программирования)|Си]] для копирования содержимого [[нуль-терминированная строка|нуль-терминированной строки]] в буфер ограниченного размера с защитой от [[переполнение буфера|переполнения буфера]].
 
<code>strlcpy</code> и <code>strlcat</code> — безопасная и производительная замена стандартнойстандартных функциифункций <code>[[strcpystrncpy]]</code>; <code>strlcat</code> — безопасная замена стандартной функциии <code>[[strcatstrncat]]</code>, соответственно.
 
<code>strlcpy</code> и <code>strlcat</code> появились и поддерживаются в [[OpenBSD]]. Позднее их начали использовать и в некоторых других операционных системах. В системах, не поддерживающих <code>strlcpy</code>/<code>strlcat</code>, возможна их кустарная реализация, например, из [http://www.openbsd.org/cgi-bin/cvsweb/src/lib/libc/string/strlcpy.c?rev=1.11&content-type=text/x-cvsweb-markup исходного кода], распространяемого по лицензии [[лицензия BSD|BSD]].