C語言字元和字串處理函式(二)strchr,strpbrk,strstr
阿新 • • 發佈:2018-12-09
查詢字元或者字串
查詢一個字元:和和和strchr()。
函式返回一個指向STR中CH首次出現的位置,當沒有在STR中找CH就報道檢視NULL。
查詢任意字元:strpbrk()
函式返回一個指標,它指向字串STR2中任意字元在字串STR1首次出現的位置,如果不存在返回NULL。
查詢一個子串:的的的strstr()
函式返回一個指標,它指向字串str2中的中首次出現於字串STR1中的位置,如果沒有找到,返回NULL。
#include <string.h> char *strchr( const char *str, int ch ); char *strpbrk( const char *str1, const char *str2 ); char *strstr( const char *str1, const char *str2 );
例子:
說明下,因為我用的電腦是64位的,所以指標型別長度為8位元組64位的
#include <stdio.h> #include <string.h> int main() { char *str1 = "hello world"; char *str2 = "你好 中國!"; char ch = 'w'; char *str3 = "del"; char *str4 = "rld"; printf("該機器int位元組數是%lu,指標位元組數%lu\n",sizeof(int),sizeof(str1)); printf("%c是str1第%lu字元\n",ch,strchr(str1,ch) - str1); printf("%s任一字元在str1最開始出現的是第%c字元\n",str3,*strpbrk(str1,str3)); printf("%s字串在str1最開始出現的是字串%s\n",str4,strstr(str1,str4)); return 0; }
總結:
strchr是查詢一個字元在字串中是否有。
strpbrk是查詢一個字串中的任一字元在字串中是否有,要查詢的字元沒有順序。
strstr是查詢一個字串在要查詢的字串中是否有,字元的順序固定不變。