C语言的字符串查找函数
2015-05-15 16:10
369 查看
C/C++字符串查找函数
C/C++ string库(string.h)提供了几个字符串查找函数,如下:memchr | 在指定内存里定位给定字符 |
strchr | 在指定字符串里定位给定字符 |
strcspn | 返回在字符串str1里找到字符串str2里的任意一个字符之前已查找的字符数量 |
strrchr | 在字符串里定位给定字符最后一次出现的位置 |
strpbrk | 在字符串str1里定位字符串str2里任意一个首次出现的字符 |
strspn | 返回字符串str1从开始字符到第一个不在str2中的字符个数 |
strstr | 在字符串str1中定位字符串str2首次出现的位置 |
strRstrI | 在字符串str1中定位字符串str2最后一次出现的位置 |
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指针。
注释:
内存字节查找函数(memchr)和字符串[b]查找函数(strchr)间的关系是前者包含后者,即内存字节查找函数(memchr)可以用于在任何数据类型(void *)的ptr中查找数据类型为int的参数值value,而字符串[b]查找函数(strchr)[/b]则只能用于在char数据类型的str中查找数据类型为int的参数值character。[/b]
char *pstr=‘标准磁盘’;,则
strchr ( pstr,‘标’);或是memchr ( pstr,‘标’)运行结果如何?考虑到‘标’这个16bit编码值转换为int时会变成一个32bit的补码(即前16bit补1)。
参见:原码、补码说明以及char和unsigned char区别--最终版
C/C++ 字符串处理函数
3、strcspn原型:size_t strcspn ( const char * str1, const char * str2);
参数:str1,待查找的字符串指针;
str2,要查找的字符串指针。
说明:在str1中查找str2中的字符,返回找到str2中任意一个字符时已查找的字符个数。
4、strrchr
原型: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, cosnt char *str2);
char * strstr ( char * str1, const char * str2);
参数:str1,待查找的字符串指针;
str2,要查找的字符串指针。
说明:在str1中查找匹配str2的子串,并返回指向首次匹配时的第一个元素指针。如果没有找到,返回NULL指针。
相关文章推荐
- C语言——字符串查找字符的两个函数
- C语言的字符串查找函数
- C语言字符串查找函数
- C语言strchr()函数:查找某字符在字符串中首次出现的位置
- C语言strchr()函数:查找某字符在字符串中首次出现的位置
- C语言rindex()函数:查找字符串并返回最后一次出现的位置
- C语言strchr()函数:查找某字符在字符串中首次出现的位置
- C语言index()函数:查找字符串并返回首次出现的位置
- C语言字符与字符串查找函数strstr、wcsstr(wcswcs)、_tcsstr
- C语言与字符串相关的查找函数
- C语言:模拟实现字符串中查找一个字符串my_strstr()函数
- 【经典】C语言字符串函数原型
- C语言中strtok函数进行分割字符串!
- C语言:利用指针和函数调用编写字符串拷贝函数strcpy
- C语言中的字符串截取函数及应用
- c语言字符串函数详解
- C语言字符串函数大全
- C语言中部分字符串处理函数
- C语言中函数返回字符串的方法汇总
- C语言strtok()函数:字符串分割