C 语言标准库 - <string.h>
C 语言标准库 <string .h> 头文件定义了一个变量类型、一个宏和各种操作字符数组的函数
变量类型定义
下表是头文件 <string.h> 中定义的变量类型
变量 | 描述 |
---|---|
size_t | unsigned long 的别名,是 sizeof 关键字的结果 |
宏定义
下表是头文件 <string.h> 中定义的宏
宏 | 描述 |
---|---|
NULL | 这个宏是一个空指针常量的值 |
函数定义
下列是头文件 <string.h> 中定义的函数
-
- void memchr(const void str, int c, size_t n)
- 在参数
str
所指向的字符串的前n
个字节中搜索第一次出现字符 c(一个无符号字符)的位置
-
- int memcmp(const void str1, const void str2, size_t n)
- 把
str1
和str2
的前 n 个字节进行比较
-
- void memcpy(void dest, const void *src, size_t n)
- 从
src
复制n
个字符到dest
-
- void memmove(void dest, const void *src, size_t n)
- 另一个用于从
str2
复制n
个字符到str1
的函数
-
- void memset(void str, int c, size_t n)
- 复制字符
c
(一个无符号字符)到参数str
所指向的字符串的前n
个字符
-
- char strcat(char dest, const char *src)
- 把
src
所指向的字符串追加到dest
所指向的字符串的结尾
-
- char strncat(char dest, const char *src, size_t n)
- 把
src
所指向的字符串追加到dest
所指向的字符串的结尾,直到n
字符长度为止
-
- char strchr(const char str, int c)
- 在参数
str
所指向的字符串中搜索第一次出现字符c
(一个无符号字符)的位置
-
- int strcmp(const char str1, const char str2)
- 把
str1
所指向的字符串和str2
所指向的字符串进行比较
-
- int strncmp(const char str1, const char str2, size_t n)
- 把
str1
和str2
进行比较,最多比较前n
个字节
-
- int strcoll(const char str1, const char str2)
- 把
str1
和str2
进行比较,结果取决于LC_COLLATE
的位置设置
-
- char strcpy(char dest, const char *src)
- 把
src
所指向的字符串复制到dest
-
- char strncpy(char dest, const char *src, size_t n)
- 把
src
所指向的字符串复制到dest
,最多复制n
个字符
-
- size_t strcspn(const char str1, const char str2)
- 检索字符串
str1
开头连续有几个字符都不含字符串str2
中的字符
-
- char *strerror(int errnum)
- 从内部数组中搜索错误号
errnum
,并返回一个指向错误消息字符串的指针
-
- size_t strlen(const char *str)
- 计算字符串
str
的长度,直到空结束字符,但不包括空结束字符
-
- char strpbrk(const char str1, const char *str2)
- 检索字符串
str1
中第一个匹配字符串str2
中字符的字符,不包含空结束字符。 也就是说,依次检验字符串str1
中的字符,当被检验字符在字符串str2
中也包含时,则停止检验,并返回该字符位置
-
- char strrchr(const char str, int c)
- 在参数
str
所指向的字符串中搜索最后一次出现字符c
(一个无符号字符)的位置
-
- size_t strspn(const char str1, const char str2)
- 检索字符串
str1
中第一个不在字符串str2
中出现的字符下标
-
- char strstr(const char haystack, const char *needle)
- 在字符串
haystack
中查找第一次出现字符串needle
(不包含空结束字符)的位置
-
- char strtok(char str, const char *delim)
- 分解字符串
str
为一组字符串,delim
为分隔符
-
- size_t strxfrm(char dest, const char src, size_t n)
- 根据程序当前的区域选项中的
LC_COLLATE
来转换字符串src
的前n
个字符,并把它们放置在字符串dest
中