string.h — string operations
#include <string.h>
[CX] Some of the functionality described on this reference page extends the ISO C standard. Applications shall define the appropriate feature test macro (see XSH 2.2 The Compilation Environment ) to enable the visibility of these symbols in this header.The <string.h> header shall define NULL and size_t as described in <stddef.h>.
[CX] The <string.h> header shall define the locale_t type as described in <locale.h>.
The following shall be declared as functions and may also be defined as macros. Function prototypes shall be provided for use with ISO C standard compilers.
[XSI] void *memccpy(void *restrict, const void *restrict, int, size_t); void *memchr(const void *, int, size_t); int memcmp(const void *, const void *, size_t); void *memcpy(void *restrict, const void *restrict, size_t); [CX] void *memmem(const void *, size_t, const void *, size_t); void *memmove(void *, const void *, size_t); void *memset(void *, int, size_t); [CX] char *stpcpy(char *restrict, const char *restrict); char *stpncpy(char *restrict, const char *restrict, size_t); char *strcat(char *restrict, const char *restrict); char *strchr(const char *, int); int strcmp(const char *, const char *); int strcoll(const char *, const char *); [CX] int strcoll_l(const char *, const char *, locale_t); char *strcpy(char *restrict, const char *restrict); size_t strcspn(const char *, const char *); [CX] char *strdup(const char *); char *strerror(int); [CX] char *strerror_l(int, locale_t); int strerror_r(int, char *, size_t); size_t strlcat(char *restrict, const char *restrict, size_t); size_t strlcpy(char *restrict, const char *restrict, size_t); size_t strlen(const char *); char *strncat(char *restrict, const char *restrict, size_t); int strncmp(const char *, const char *, size_t); char *strncpy(char *restrict, const char *restrict, size_t); [CX] char *strndup(const char *, size_t); size_t strnlen(const char *, size_t); char *strpbrk(const char *, const char *); char *strrchr(const char *, int); [CX] char *strsignal(int); size_t strspn(const char *, const char *); char *strstr(const char *, const char *); char *strtok(char *restrict, const char *restrict); [CX] char *strtok_r(char *restrict, const char *restrict, char **restrict); size_t strxfrm(char *restrict, const char *restrict, size_t); [CX] size_t strxfrm_l(char *restrict, const char *restrict, size_t, locale_t);[CX] Inclusion of the <string.h> header may also make visible all symbols from <stddef.h>.
None.
None.
None.
<locale.h> , <stddef.h> , <sys/types.h>
XSH 2.2 The Compilation Environment , memccpy , memchr , memcmp , memcpy , memmem , memmove , memset , strcat , strchr , strcmp , strcoll , strcpy , strcspn , strdup , strerror , strlcat , strlen , strncat , strncmp , strncpy , strpbrk , strrchr , strsignal , strspn , strstr , strtok , strxfrm
First released in Issue 1. Derived from Issue 1 of the SVID.
The DESCRIPTION is updated for alignment with the POSIX Threads Extension.
The strtok_r() function is marked as part of the Thread-Safe Functions option.
This reference page is updated to align with the ISO/IEC 9899:1999 standard.
The strerror_r() function is added in response to IEEE PASC Interpretation 1003.1c #39.
SD5-XBD-ERN-15 is applied, correcting the prototype for the strerror_r() function.
The stpcpy(), stpncpy(), strndup(), strnlen(), and strsignal() functions are added from The Open Group Technical Standard, 2006, Extended API Set Part 1.
The strcoll_l(), strerror_l(), and strxfrm_l() functions are added from The Open Group Technical Standard, 2006, Extended API Set Part 4.
This reference page is clarified with respect to macros and symbolic constants, and a declaration for the locale_t type is added.
Austin Group Defect 986 is applied, adding strlcat() and strlcpy().
Austin Group Defect 1061 is applied, adding memmem().
return to top of page