VC 中字串比較和查詢
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指標。