Namespaces
Variants

Standard library header <string.h>

From cppreference.net

이 헤더는 null-terminated byte strings 을 처리하기 위한 함수들을 제공합니다.

목차

매크로

구현에서 정의된 널 포인터 상수
(매크로 상수)

타입

sizeof 연산자가 반환하는 부호 없는 정수형
(typedef)

함수

문자열 조작
한 문자열을 다른 문자열로 복사합니다
(함수)
한 문자열에서 다른 문자열로 지정된 수의 문자를 복사합니다
(함수)
두 문자열을 연결함
(함수)
두 문자열의 일정량 문자를 연결함
(함수)
문자열을 변환하여 strcmp가 strcoll과 동일한 결과를 생성하도록 함
(함수)
(C23)
문자열의 복사본을 할당합니다
(function)
(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