Spec-Zone.ru › C

Заголовок стандартной библиотеки <string.h>

Этот заголовок предоставляет функции для работы с байтовыми строками с нулевым терминатором.

Макросы

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

Типы

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

Функции

Манипуляции со строками
strcpystrcpy_s
(C11)
копирует одну строку в другую
(функция)
strncpystrncpy_s
(C11)
копирует заданное количество символов из одной строки в другую
(функция)
strcatstrcat_s
(C11)
объединяет две строки
(функция)
strncatstrncat_s
(C11)
объединяет заданное количество символов двух строк
(функция)
strxfrm
преобразует строку так, чтобы strcmp возвращала тот же результат, что и strcoll
(функция)
strdup
(C23)
выделяет память для копии строки
(функция)
strndup
(C23)
выделяет память для копии строки заданного размера
(функция)
Анализ строк
strlenstrnlen_s
(C11)
возвращает длину заданной строки
(функция)
strcmp
сравнивает две строки
(функция)
strncmp
сравнивает заданное количество символов двух строк
(функция)
strcoll
сравнивает две строки согласно текущей локали
(функция)
strchr
находит первое вхождение символа
(функция)
strrchr
находит последнее вхождение символа
(функция)
strspn
возвращает длину максимального начального сегмента, состоящего
только из символов, присутствующих в другой байтовой строке
(функция)
strcspn
возвращает длину максимального начального сегмента, состоящего
только из символов, отсутствующих в другой байтовой строке
(функция)
strpbrk
находит первое вхождение любого символа одной строки в другой строке
(функция)
strstr
находит первое вхождение подстроки
(функция)
strtokstrtok_s
(C11)
находит следующий токен в байтовой строке
(функция)
Работа с массивами символов
memchr
ищет первое вхождение символа в массиве
(функция)
memcmp
сравнивает два буфера
(функция)
memsetmemset_explicitmemset_s
(C23)(C11)
заполняет буфер символом
(функция)
memcpymemcpy_s
(C11)
копирует один буфер в другой
(функция)
memmovememmove_s
(C11)
перемещает один буфер в другой
(функция)
memccpy
(C23)
копирует один буфер в другой, останавливаясь после указанного разделителя
(функция)
Разное
strerrorstrerror_sstrerrorlen_s
(C11)(C11)
возвращает текстовое описание заданного кода ошибки
(функция)

Обзор

#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);

Только если реализация определяет __STDC_LIB_EXT1__ и, кроме того, пользовательский код определяет __STDC_WANT_LIB_EXT1__ до любого включения <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

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/c/header/string

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API