字符串函数
- strcpy( dest, src)**:src所指由NULL结尾的字符串复制给dest;返回指向dest结束符(NULL)的指针;
- strcpy( dest, src)**:src所指的前n个字符复制给dest;返回指向dest结束符(NULL)的指针;
- strcat( dest, src)**:src所指的字符串添加到dest结尾处(覆盖并添加\0);返回dest指针;
- strncat( dest, src)**:src所指的前n个字符添加到dest结尾处;返回dest指针;
- strlen( s)*:计算字符串s长度(不包括\0);返回长度(int);
- strspn( s, reject)**:计算字符串s开头连续的且在字符串reject中的字符个数(无顺序要求);
- strcspn( s, reject)**:计算字符串s开头连续的且不在字符串reject中的字符个数(无顺序要求);
- strcmp( s1, s2)**:按字典序(ASCLL)比较两个字符串;若s1>s2返回正值,相等返回0,否则返回负值(有些实现返回±1);
- strncmp( s1, s2)**:按字典序(ASCLL)比较两个字符串前n个字符;若s1>s2返回正值,相等返回0,否则返回负值(有些实现返回±1);
- stricmp( s1, s2)**:按字典序以大小写不敏感比较两个字符串;
- strnicmp( s1, s2)**:按字典序以大小写不敏感比较两个字符串前n个字符;
- strchr( s, c)*:找到字符c在字符串s中首次出现的位置;返回首次出现的地址;
- strrchr( s, c)*:找到字符c在字符串s中最后一次出现的位置;返回地址;
- strstr( s1, * s2)*:判断s2是否是s1的子串;若是则返回s2在s1中首次出现的首地址,否则返回NULL;
- strset( s, c)*:将字符串s的全部字符设置成字符c;返回指向s的指针;
- strnset( s, c)*:将字符串s的前n个字符设置成字符c;
- strdup( s)*:复制字符串;用法:
char *s1="Hello";
char *s2=strdup(s1);//内含malloc()
free(s1);
- strrev( s)*:将字符串翻转;用法:
char *s="Hello";
printf("%s\n%s",s,strrev(strdup(s)));//strrev只能翻转数组,即必须知道字符串长度
或
char *s1="Hello";
char *s2=strrev(strdup(s));