Namespaces
Variants

Standard library header <string.h>

From cppreference.net

Этот заголовок предоставляет функции для работы с null-terminated byte strings .

Содержание

Макросы

определяемая реализацией константа нулевого указателя
(макрос-константа)

Типы

беззнаковый целочисленный тип, возвращаемый оператором sizeof
(typedef)

Функции

Манипуляции со строками
копирует одну строку в другую
(функция)
копирует определённое количество символов из одной строки в другую
(функция)
объединяет две строки
(функция)
объединяет определенное количество символов двух строк
(функция)
преобразует строку так, чтобы strcmp давал тот же результат, что и strcoll
(функция)
(C23)
выделяет копию строки
(функция)
(C23)
выделяет копию строки указанного размера
(функция)
Исследование строк
возвращает длину заданной строки
(функция)
сравнивает две строки
(функция)
сравнивает определённое количество символов двух строк
(функция)
сравнивает две строки в соответствии с текущей локалью
(функция)
находит первое вхождение символа
(функция)
находит последнее вхождение символа
(функция)
возвращает длину максимального начального сегмента, который состоит
только из символов, найденных в другой байтовой строке
(функция)
возвращает длину максимального начального сегмента, который состоит
только из символов, не найденных в другой байтовой строке
(функция)
находит первое вхождение любого символа из одной строки в другой строке
(функция)
находит первое вхождение подстроки символов
(функция)
находит следующий токен в байтовой строке
(функция)
Манипуляции с символьными массивами
выполняет поиск в массиве первого вхождения символа
(функция)
сравнивает два буфера
(функция)
заполняет буфер символом
(функция)
копирует один буфер в другой
(функция)
перемещает один буфер в другой
(функция)
(C23)
копирует один буфер в другой, останавливаясь после указанного разделителя
(функция)
Разное
возвращает текстовое описание заданного кода ошибки
(функция)

Синопсис

#define __STDC_VERSION_STRING_H__ 202311L
#define NULL /* см. описание */
typedef /* см. описание */ 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);

Только если реализация определяет __STDC_LIB_EXT1__ и дополнительно пользовательский код определяет __STDC_WANT_LIB_EXT1__ до любого включения <string.h> :

#ifdef __STDC_WANT_LIB_EXT1__
tyepdef /* см. описание */ errno_t;
tyepdef /* см. описание */ 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