Namespaces
Variants

Standard library header <string.h>

From cppreference.net

Este encabezado proporciona funciones para manejar cadenas de bytes terminadas en nulo .

Contenidos

Macros

constante de puntero nulo definida por la implementación
(constante macro)

Tipos

tipo entero sin signo devuelto por el operador sizeof
(typedef)

Funciones

Manipulación de cadenas
copia una cadena a otra
(función)
copia una cierta cantidad de caracteres de una cadena a otra
(función)
concatena dos cadenas
(función)
concatena una cierta cantidad de caracteres de dos cadenas
(función)
transforma una cadena para que strcmp produzca el mismo resultado que strcoll
(función)
(C23)
asigna una copia de una cadena
(función)
(C23)
asigna una copia de una cadena de tamaño especificado
(función)
Examen de cadenas
devuelve la longitud de una cadena dada
(función)
compara dos cadenas
(función)
compara una cantidad determinada de caracteres de dos cadenas
(función)
compara dos cadenas de acuerdo a la configuración regional actual
(función)
encuentra la primera ocurrencia de un carácter
(función)
encuentra la última ocurrencia de un carácter
(función)
devuelve la longitud del segmento inicial máximo que consiste
únicamente en los caracteres encontrados en otra cadena de bytes
(función)
devuelve la longitud del segmento inicial máximo que consiste
únicamente en los caracteres no encontrados en otra cadena de bytes
(función)
encuentra la primera ubicación de cualquier carácter de una cadena, en otra cadena
(función)
encuentra la primera ocurrencia de una subcadena de caracteres
(función)
encuentra el siguiente token en una cadena de bytes
(función)
Manipulación de arreglos de caracteres
busca en un array la primera ocurrencia de un carácter
(función)
compara dos buffers
(función)
llena un búfer con un carácter
(función)
copia un búfer a otro
(función)
mueve un búfer a otro
(función)
(C23)
copia un búfer a otro, deteniéndose después del delimitador especificado
(función)
Miscelánea
devuelve una versión textual de un código de error dado
(función)

Sinopsis

#define __STDC_VERSION_STRING_H__ 202311L
#define NULL /* ver descripción */
typedef /* ver descripción */ 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);

Solo si la implementación define __STDC_LIB_EXT1__ y adicionalmente el código de usuario define __STDC_WANT_LIB_EXT1__ antes de cualquier inclusión de <string.h> :

#ifdef __STDC_WANT_LIB_EXT1__
tyepdef /* ver descripción */ errno_t;
tyepdef /* ver descripción */ 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