Standard library header <string.h>
From cppreference.net
Этот заголовок предоставляет функции для работы с null-terminated byte strings .
Макросы |
||
|
определяемая реализацией константа нулевого указателя
(макрос-константа) |
||
Типы |
||
|
беззнаковый целочисленный тип, возвращаемый оператором
sizeof
(typedef) |
||
Функции |
||
Манипуляции со строками |
||
|
(C11)
|
копирует одну строку в другую
(функция) |
|
|
(C11)
|
копирует определённое количество символов из одной строки в другую
(функция) |
|
|
(C11)
|
объединяет две строки
(функция) |
|
|
(C11)
|
объединяет определенное количество символов двух строк
(функция) |
|
|
преобразует строку так, чтобы strcmp давал тот же результат, что и strcoll
(функция) |
||
|
(C23)
|
выделяет копию строки
(функция) |
|
|
(C23)
|
выделяет копию строки указанного размера
(функция) |
|
Исследование строк |
||
|
(C11)
|
возвращает длину заданной строки
(функция) |
|
|
сравнивает две строки
(функция) |
||
|
сравнивает определённое количество символов двух строк
(функция) |
||
|
сравнивает две строки в соответствии с текущей локалью
(функция) |
||
|
находит первое вхождение символа
(функция) |
||
|
находит последнее вхождение символа
(функция) |
||
|
возвращает длину максимального начального сегмента, который состоит
только из символов, найденных в другой байтовой строке (функция) |
||
|
возвращает длину максимального начального сегмента, который состоит
только из символов, не найденных в другой байтовой строке (функция) |
||
|
находит первое вхождение любого символа из одной строки в другой строке
(функция) |
||
|
находит первое вхождение подстроки символов
(функция) |
||
|
(C11)
|
находит следующий токен в байтовой строке
(функция) |
|
Манипуляции с символьными массивами |
||
|
выполняет поиск в массиве первого вхождения символа
(функция) |
||
|
сравнивает два буфера
(функция) |
||
|
(C23)
(C11)
|
заполняет буфер символом
(функция) |
|
|
(C11)
|
копирует один буфер в другой
(функция) |
|
|
(C11)
|
перемещает один буфер в другой
(функция) |
|
|
(C23)
|
копирует один буфер в другой, останавливаясь после указанного разделителя
(функция) |
|
Разное |
||
|
(C11)
(C11)
|
возвращает текстовое описание заданного кода ошибки
(функция) |
|
Синопсис
#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