Standard library header <string.h>
From cppreference.com
This header provides functions for handling null-terminated byte strings.
Macros | ||
implementation-defined null pointer constant (macro constant) | ||
Types | ||
unsigned integer type returned by the sizeof operator (typedef) | ||
Functions | ||
String manipulation | ||
(C11) | copies one string to another (function) | |
(C11) | copies a certain amount of characters from one string to another (function) | |
(C11) | concatenates two strings (function) | |
(C11) | concatenates a certain amount of characters of two strings (function) | |
transform a string so that strcmp would produce the same result as strcoll (function) | ||
(C23) | allocates a copy of a string (function) | |
(C23) | allocates a copy of a string of specified size (function) | |
String examination | ||
(C11) | returns the length of a given string (function) | |
compares two strings (function) | ||
compares a certain amount of characters of two strings (function) | ||
compares two strings in accordance to the current locale (function) | ||
finds the first occurrence of a character (function) | ||
finds the last occurrence of a character (function) | ||
returns the length of the maximum initial segment that consists of only the characters found in another byte string (function) | ||
returns the length of the maximum initial segment that consists of only the characters not found in another byte string (function) | ||
finds the first location of any character in one string, in another string (function) | ||
finds the first occurrence of a substring of characters (function) | ||
(C11) | finds the next token in a byte string (function) | |
Character array manipulation | ||
searches an array for the first occurrence of a character (function) | ||
compares two buffers (function) | ||
(C23)(C11) | fills a buffer with a character (function) | |
(C11) | copies one buffer to another (function) | |
(C11) | moves one buffer to another (function) | |
(C23) | copies one buffer to another, stopping after the specified delimiter (function) | |
Miscellaneous | ||
(C11)(C11) | returns a text version of a given error code (function) |
[edit]Synopsis
#define __STDC_VERSION_STRING_H__ 202311L #define NULL /* see description */ typedef/* see description */size_t; void*memcpy(void*restrict s1, constvoid*restrict s2, size_t n);void* memccpy(void*restrict s1, constvoid*restrict s2, int c, size_t n);void*memmove(void* s1, constvoid* s2, size_t n);char*strcpy(char*restrict s1, constchar*restrict s2);char*strncpy(char*restrict s1, constchar*restrict s2, size_t n);char* strdup(constchar* s);char* strndup(constchar* s, size_t n);char*strcat(char*restrict s1, constchar*restrict s2);char*strncat(char*restrict s1, constchar*restrict s2, size_t n);intmemcmp(constvoid* s1, constvoid* s2, size_t n);intstrcmp(constchar* s1, constchar* s2);intstrcoll(constchar* s1, constchar* s2);intstrncmp(constchar* s1, constchar* s2, size_t n);size_tstrxfrm(char*restrict s1, constchar*restrict s2, size_t n);/*QVoid*/*memchr(/*QVoid*/* s, int c, size_t n);/*QChar*/*strchr(/*QChar*/* s, int c);size_tstrcspn(constchar* s1, constchar* s2);/*QChar*/*strpbrk(/*QChar*/* s1, constchar* s2);/*QChar*/*strrchr(/*QChar*/* s, int c);size_tstrspn(constchar* s1, constchar* s2);/*QChar*/*strstr(/*QChar*/* s1, constchar* s2);char*strtok(char*restrict s1, constchar*restrict s2);void*memset(void* s, int c, size_t n);void* memset_explicit(void* s, int c, size_t n);char*strerror(int errnum);size_tstrlen(constchar* s);size_t strnlen(constchar* s, size_t n);
Only if the implementation defines __STDC_LIB_EXT1__ and additionally the user code defines __STDC_WANT_LIB_EXT1__ before any inclusion of <string.h>
:
#ifdef __STDC_WANT_LIB_EXT1__ tyepdef /* see description */ errno_t; tyepdef /* see description */ rsize_t; errno_t memcpy_s(void*restrict s1, rsize_t s1max, constvoid*restrict s2, rsize_t n); errno_t memmove_s(void* s1, rsize_t s1max, constvoid* s2, rsize_t n); errno_t strcpy_s(char*restrict s1, rsize_t s1max, constchar*restrict s2); errno_t strncpy_s(char*restrict s1, rsize_t s1max, constchar*restrict s2, rsize_t n); errno_t strcat_s(char*restrict s1, rsize_t s1max, constchar*restrict s2); errno_t strncat_s(char*restrict s1, rsize_t s1max, constchar*restrict s2, rsize_t n);char* strtok_s(char*restrict s1, rsize_t*restrict s1max, constchar*restrict s2, char**restrict ptr); errno_t memset_s(void* s, rsize_t smax, int c, rsize_t n) errno_t strerror_s(char* s, rsize_t maxsize, errno_t errnum);size_t strerrorlen_s(errno_t errnum);size_t strnlen_s(constchar* s, size_t maxsize); #endif