C/string.h
string.h — заголовочный файл стандартной библиотеке языка Си, содержащий функции для работы с нуль-терминированной строками и различными функциями работы с памятью.
Функции объявленные в string.h широко используются, так как являясь частью стандартной библиотеки, они гарантированно работают на всех платформах, поддерживающих Си. Однако, существуют некоторые потенциальные проблемы с безопасностью, такие как переполнение буфера, что побуждает в пользу выбора более безопасных, возможно менее переносимых вариантов. Кроме этого, строковые функции работают только с набором символов ASCII или его совместимыми расширениями, такими как ISO-8859-1; многобайтовые кодировки такие как UTF-8 будут работать, с отличием, что «длина» строки будет определяться как число байтов, а не число символов Юникода, которым они соответствуют. Несовместимые с ASCII строки обычно обрабатываются кодом описанным в wchar.h.
Большинство функций string.h не производят никакого выделения памяти и контроля границ; эта обязанность целиком ложится на плечи программиста.