C标准库 <string.h>
#include <strings.h>
1、strcasecmp/strncasecmp
int strcasecmp(const char *s1, const char *s2);
**功能:**比较两个字符串,且不区分大小写。
**返回值:**0 相等 ; <0 string1< string2; >0 string1> string2.
**strncasecmp:**可以指定每个字符串用于比较的字符数。
//语法
int strncasecmp(const char *s1, const char *s2, size_t n);
2、index/rindex
char *index(const char *s, int c);
**功能:**用来找出参数s 字符串中第一个出现的参数c 地址,然后将该字符出现的地址返回。字符串结束字符(NULL)也视为字符串一部分。
返回值:如果找到指定的字符则返回该字符所在地址,否则返回NULL
**rindex:**用来找出参数s 字符串中最后一个出现的参数c 地址,然后将该字符出现的地址返回。字符串结束字符(NULL)也视为字符串一部分。
char *rindex(const char *s, int c);
3、stpcpy
char *stpcpy(char *dest, const char *src); //dest为一个目的字符串的指针,src为一个源字符串的指针。
**功能:**把src所指的以“/0”结束的字符串复制到dest所指的数组中。
4、strcat/strncat
char *strcat(char *dest, const char *src);
**作用:**把 src 所指向的字符串追加到 dest 所指向的字符串的结尾。
**返回值:**该函数返回一个指向最终的目标字符串 dest 的指针
5、strchr
char *strchr(const char *s, int c);
**功能:**查找字符串s中首次出现字符c的位置,返回的地址是被查找字符串指针开始的第一个与Val相同字符的指针,如果s中不存在c则返回 NULL
**返回值:**成功则返回要查找字符第一次出现的位置,失败返回NULL
6、strcmp/strncmp
int strcmp(const char *s1, const char *s2);
7、strcoll
int strcoll(const char *s1, const char *s2);
作用:比较字符串s1和s2。功能和strcmp类似,用法也一样.
8、strcpy/strncpy
char *strcpy(char *dest, const char *src);
作用:字符串复制strcpy把从src地址开始且含有’\0’结束符的字符串复制到以dest开始的地址空间
返回值类型:目标串的地址char*
9、strcspn
size_t strcspn(const char *s, const char *reject);
**作用:**检索字符串 s 开头连续有几个字符都不含字符串 reject 中的字符。
返回值:该函数返回s 开头连续都不含字符串 reject 中字符的字符数。
10、strdup
char *strdup(const char *s);
功能:复制字符串s
返回值:返回指向被复制的字符串的指针,所需空间由malloc()分配且可以由free()释放。
11、strfry
char *strfry(char *string);
功能:将一串字符串打乱成任意组合
说明:通过rand()函数将重组字符串string里面的字符,输出任意组合的字符
返回值:返回被打乱了的字符串的指针
12、strlen
size_t strlen(const char *s);
13、strpbrk
char *strpbrk(const char *s, const char *accept);
功能:在源字符串s中找出最先含有搜索字符串accept中任一字符的位置并返回,若找不到则返回空指针。
14、strrchr
char *strrchr(const char *s, int c); //s为一个字符串的指针,c为一个待查找字符。
作用:查找在s字符串中最后一次出现字符c的位置。
返回说明:如果str中存在字符ch,返回出现ch的位置的指针;否则返回NULL。
15、strsep
char *strsep(char **stringp, const char *delim);
功能:是用来分解字符串为一组字符串。s为要分解的字符串,delim为分隔符字符串。
返回值:从s开头开始的一个个子串,当没有分割的子串时返回NULL。
16、strspn
size_t strspn(const char *s, const char *accept);
功能:若strcspn()返回的数值为n, 则代表字符串s 连续有n 个字符都包含reject 内的字符.
17、strstr
char *strstr(const char *haystack, const char *needle); //haystack: 被查找目标 needle: 要查找对象
**功能:**函数用于判断字符串needle是否是haystack的子串。如果是,则该函数返回needle在haystack中首次出现的地址;否则,返回NULL。
**返回值:**若needle是haystack的子串,则返回needle在haystack的首次出现的地址;如果needle不是haystack的子串,则返回NULL。
18、strtok
char *strtok(char *s, const char *delim);
**作用:**分解字符串为一组字符串。s为要分解的字符,delim为分隔符字符(如果传入字符串,则传入的字符串中每个字符均为分割符)。首次调用时,s指向要分解的字符串,之后再次调用要把s设成NULL。
**返回值:**从s开头开始的一个个被分割的串。当s中的字符查找到末尾时,返回NULL。如果查找不到delim中的字符时,返回当前strtok的字符串的指针。所有delim中包含的字符都会被滤掉,并将被滤掉的地方设为一处分割的节点。
19、strxfrm
size_t strxfrm(char *dest, const char *src, size_t n);
**功能:**根据num长度拷贝前num个字符到目的字符串中,并返回源字符串长度。
同时,该函数还可以自作为返回字符串长度,这时num=0,destination允许传入NULL。
**返回值:**返回source字符串的长度,不包含‘\0’。
参数:
des
指向目的字符数组的指针,当num为0时,可以传NULL。
src
要拷贝的源字符串,以‘\0’结尾。
n
最大要拷贝到目的数组的字符的长度。