Standard library header <string.h>
From cppreference.net
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) |
|
Synopsis
#define __STDC_VERSION_STRING_H__ 202311L #define NULL /* see description */ typedef /* see description */ size_t; void* memcpy(void* restrict s1, const void* restrict s2, size_t n); void* memccpy(void* restrict s1, const void* restrict s2, int c, size_t n); void* memmove(void* s1, const void* s2, size_t n); char* strcpy(char* restrict s1, const char* restrict s2); char* strncpy(char* restrict s1, const char* restrict s2, size_t n); char* strdup(const char* s); char* strndup(const char* s, size_t n); char* strcat(char* restrict s1, const char* restrict s2); char* strncat(char* restrict s1, const char* restrict s2, size_t n); int memcmp(const void* s1, const void* s2, size_t n); int strcmp(const char* s1, const char* s2); int strcoll(const char* s1, const char* s2); int strncmp(const char* s1, const char* s2, size_t n); size_t strxfrm(char* restrict s1, const char* restrict s2, size_t n); /*QVoid*/* memchr(/*QVoid*/* s, int c, size_t n); /*QChar*/* strchr(/*QChar*/* s, int c); size_t strcspn(const char* s1, const char* s2); /*QChar*/* strpbrk(/*QChar*/* s1, const char* s2); /*QChar*/* strrchr(/*QChar*/* s, int c); size_t strspn(const char* s1, const char* s2); /*QChar*/* strstr(/*QChar*/* s1, const char* s2); char* strtok(char* restrict s1, const char* 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_t strlen(const char* s); size_t strnlen(const char* 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, const void* restrict s2, rsize_t n); errno_t memmove_s(void* s1, rsize_t s1max, const void* s2, rsize_t n); errno_t strcpy_s(char* restrict s1, rsize_t s1max, const char* restrict s2); errno_t strncpy_s(char* restrict s1, rsize_t s1max, const char* restrict s2, rsize_t n); errno_t strcat_s(char* restrict s1, rsize_t s1max, const char* restrict s2); errno_t strncat_s(char* restrict s1, rsize_t s1max, const char* restrict s2, rsize_t n); char* strtok_s(char* restrict s1, rsize_t* restrict s1max, const char* 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(const char* s, size_t maxsize); #endif