C/C++ string庫(string.h)提供了幾個字符串查找函數,如下:
memchr 在指定內存裡定位給定字符
strchr 在指定字符串裡定位給定字符
strcspn 返回在字符串str1裡找到字符串str2裡的任意一個字符之前已查找的字符數量
strrchr 在字符串裡定位給定字符最後一次出現的位置
strpbrk 在字符串str1裡定位字符串str2裡任意一個首次出現的字符
strspn 返回字符串str1從開始字符到第一個不在str2中的字符個數
strstr 在字符串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指針。
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指針。