💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
# C 标准库 - <string.h> ## 简介 **string .h** 头文件定义了一个变量类型、一个宏和各种操作字符数组的函数。 ## 库变量 下面是头文件 string.h 中定义的变量类型: | 变量 | 描述 | | --- | --- | | **size_t** | 这是无符号整数类型,它是 **sizeof** 关键字的结果。 | ## 库宏 下面是头文件 string.h 中定义的宏: | 宏 | 描述 | | --- | --- | | **NULL** | 这个宏是一个空指针常量的值。 | ## 库函数 下面是头文件 string.h 中定义的函数: | 函数 | 描述 | | --- | --- | | [void \*memchr(const void \*str, int c, size_t n)](c-function-memchr.html) | 在参数 _str_ 所指向的字符串的前 n 个字节中搜索第一次出现字符 c(一个无符号字符)的位置。 | | [int memcmp(const void \*str1, const void \*str2, size_t n)](c-function-memcmp.html) | 把 _str1_ 和 _str2_ 的前 n 个字节进行比较。 | | [void \*memcpy(void \*dest, const void \*src, size_t n)](c-function-memcpy.html) | 从 src 复制 n 个字符到 _dest_。 | | [void \*memmove(void \*dest, const void \*src, size_t n)](c-function-memmove.html) | 另一个用于从 _str2_ 复制 n 个字符到 _str1_ 的函数。 | | [void \*memset(void \*str, int c, size_t n)](c-function-memset.html) | 复制字符 c(一个无符号字符)到参数 _str_ 所指向的字符串的前 n 个字符。 | | [char \*strcat(char \*dest, const char \*src)](c-function-strcat.html) | 把 _src_ 所指向的字符串追加到 _dest_ 所指向的字符串的结尾。 | | [char \*strncat(char \*dest, const char \*src, size_t n)](c-function-strncat.html) | 把 _src_ 所指向的字符串追加到 _dest_ 所指向的字符串的结尾,直到 n 字符长度为止。 | | [char \*strchr(const char \*str, int c)](c-function-strchr.html) | 在参数 _str_ 所指向的字符串中搜索第一次出现字符 c(一个无符号字符)的位置。 | | [int strcmp(const char \*str1, const char \*str2)](c-function-strcmp.html) | 把 _str1_ 所指向的字符串和 _str2_ 所指向的字符串进行比较。 | | [int strncmp(const char \*str1, const char \*str2, size_t n)](c-function-strncmp.html) | 把 _str1_ 和 _str2_ 进行比较,最多比较前 n 个字节。 | | [int strcoll(const char \*str1, const char \*str2)](c-function-strcoll.html) | 把 _str1_ 和 _str2_ 进行比较,结果取决于 LC_COLLATE 的位置设置。 | | [char \*strcpy(char \*dest, const char \*src)](c-function-strcpy.html) | 把 _src_ 所指向的字符串复制到 _dest_。 | | [char \*strncpy(char \*dest, const char \*src, size_t n)](c-function-strncpy.html) | 把 _src_ 所指向的字符串复制到 _dest_,最多复制 n 个字符。 | | [size_t strcspn(const char \*str1, const char \*str2)](c-function-strcspn.html) | 检索字符串 str1 开头连续有几个字符都不含字符串 str2 中的字符。 | | [char \*strerror(int errnum)](c-function-strerror.html) | 从内部数组中搜索错误号 errnum,并返回一个指向错误消息字符串的指针。 | | [size_t strlen(const char \*str)](c-function-strlen.html) | 计算字符串 str 的长度,直到空结束字符串,但不包括空结束字符串。 | | [char \*strpbrk(const char \*str1, const char \*str2)](c-function-strpbrk.html) | 检索字符串 _str1_ 中匹配字符串 _str2_ 中所指定的字符的第一个字符。也就是说,依次检验字符串s1中的字符,当被检验字符在字符串s2中也包含时,则停止检验,并返回该字符位置。 | | [char \*strrchr(const char \*str, int c)](c-function-strrchr.html) | 在参数 _str_ 所指向的字符串中搜索最后一次出现字符 c(一个无符号字符)的位置。 | | [size_t strspn(const char \*str1, const char \*str2)](c-function-strspn.html) | 检索字符串 _str1_ 开头连续有几个字符都不含字符串 _str2_ 中的字符。 | | [char \*strstr(const char \*haystack, const char \*needle)](c-function-strstr.html) | 在字符串 _haystack_ 中查找第一次出现字符串 _needle_(不包含空结束字符串)的位置。 | | [char \*strtok(char \*str, const char \*delim)](c-function-strtok.html) | 分解字符串 _str_ 为一组字符串,_delim_ 为分隔符。 | | [size_t strxfrm(char \*dest, const char \*src, size_t n)](c-function-strxfrm.html) | 根据程序当前的区域选项中的 LC_COLLATE 来转换字符串 \*\*src\*\* 的前 \*\*n\*\* 个字符,并把它们放置在字符串 \*\*dest\*\* 中。 |