memchr 在指定内存里定位给定字符
strchr 在指定字符串里定位给定字符
strcspn 返回在字符串str1里找到字符串str2里的任意一个字符之前已查找的字符数量
strrchr 在字符串里定位给定字符最后一次出现的位置
strpbrk 在字符串str1里定位字符串str2里任意一个首次出现的字符
strspn 返回字符串str1从开始字符到第一个不在str2中的字符个数
strstr 在字符串str1中定位字符串str2首次出现的位置
strncpy 将指定长度的字符串复制到字符数组中
函数说明:
1、memchr
原型:const void * memchr ( const void * ptr, int value, size_t num);
void * memchr ( void * ptr, int value, size_t num);
参数:ptr,待查找的内存指针;
value,要查找的值
num,内存大小
说明:在ptr指向的内存中查找value,返回指向和value首次匹配的元素指针,如果没有找到,返回NULL指针
2、strchr
原型:const char * strchr ( const char * str, int character);
char * strchr ( char * str, int character);
参数:str,待查找字符串指针
character,要查找的值
说明:在字符串str中查找character,返回指向和character首次匹配的元素指针,如果没有找到,返回NULL指针。
3、strcspn
原型:size_t strcspn ( const char * str1, const char * str2)
参数:str1,待查找的字符串指针
str2,要查找的字符串指针。
说明:在str1中查找str2中的字符,返回找到str2中任意一个字符时已查找的字符个数。
4、strrch
原型:const char * strrchr ( const char * str, int character)
char * strrchr ( char * str, int character)
参数:str,待查找的字符串指针;
character,要查找的值。
说明:在str中查找character,返回指向与character最后一次匹配的元素的指针,如果没有找到,返回NULL指针。
5、strpbrk
原型:const char * strpbrk (const char * str1, const char * str2);
char * strpbrk ( char * str1, const char * str2);
参数:在str1中查找str2中任意一个字符,返回指向与首次出现的str2中的任意一个字符匹配的元素的指针,如果没有找到,返回NULL指针。
6、strspn
原型:size_t strspn ( const char * str1, const char * str2);
参数:str1,待查找的字符串指针;
str2,要查找的字符串指针。
说明:从str1的第一个字符开始算起,直到出现一个不在str2中的字符为止,返回字符个数。
7、strstr
原型:const char * strstr ( const char * str1, const char *str2);
char * strstr ( char * str1, const char * str2)
参数:str1,待查找的字符串指针;
str2,要查找的字符串指针。
说明:在str1中查找匹配str2的子串,并返回指向首次匹配时的第一个元素指针。如果没有找到,返回NULL指针。
8、strncpy
语法形式为:char *strncpy(char *destinin, char *source, int maxlen);
参数:destinin:表示复制的目标字符数组;
source:表示复制的源字符数组;
maxlen:表示复制的字符串长度。
说明:表示把src所指向的字符串中以source地址开始的前n个字节复制到destinin所指的数组中,并返回被复制后的destinin
9、strcmp
语法:extern int strcmp(const char *s1,const char *s2);
strcmp(字符串1,字符串2)
当s1<s2时,返回为负数;
当s1=s2时,返回值= 0;
当s1>s2时,返回正数。
即:两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇'\0'为止。如:
"A"<"B" "a">"A" "computer">"compare"
特别注意:strcmp(const char *s1,const char * s2)这里面只能比较字符串,即可用于比较两个字符串常量,或比较数组和字符串常量,不能比较数字等其他形式的参数。
ANSI标准规定,返回值为正数,负数,0 。而确切数值是依赖不同的C实现的。
1、当两个字符串不相等时,C标准没有规定返回值会是1 或 -1,只规定了正数和负数。
2、有些会把两个字符的ASCII码之差作为比较结果由函数值返回。但无论如何不能以此条依据作为程序中的流程逻辑。
10、substr