C語(yǔ)言strchr()函數(shù):查找某字符在字符串中首次出現(xiàn)的位置
頭文件:#include <string.h>
strchr() 用來(lái)查找某字符在字符串中首次出現(xiàn)的位置,其原型為:
char * strchr (const char *str, int c);
【參數(shù)】str 為要查找的字符串,c 為要查找的字符。
strchr() 將會(huì)找出 str 字符串中第一次出現(xiàn)的字符 c 的地址,然后將該地址返回。
注意:字符串 str 的結(jié)束標(biāo)志 NUL 也會(huì)被納入檢索范圍,所以 str 的組后一個(gè)字符也可以被定位。
【返回值】如果找到指定的字符則返回該字符所在地址,否則返回 NULL。
返回的地址是字符串在內(nèi)存中隨機(jī)分配的地址再加上你所搜索的字符在字符串位置。設(shè)字符在字符串中首次出現(xiàn)的位置為 i,那么返回的地址可以理解為 str + i。
提示:如果希望查找某字符在字符串中最后一次出現(xiàn)的位置,可以使用 strrchr() 函數(shù)。
【實(shí)例】查找字符5首次出現(xiàn)的位置。
#include <stdio.h>#include <stdlib.h>#include <string.h>int main(){ char *s = "0123456789012345678901234567890"; char *p; p = strchr(s, '5'); printf("%ld/n", s); printf("%ld/n", p); system("pause"); return 0;}
輸出結(jié)果:
1201646412016469
C語(yǔ)言strrchr()函數(shù):查找某字符在字符串中最后一次出現(xiàn)的位置
頭文件:#include <string.h>
strrchr() 函數(shù)用于查找某字符在字符串中最后一次出現(xiàn)的位置,其原型為:
char * strrchr(const char *str, int c);
【參數(shù)】str 為要查找的字符串,c 為要查找的字符。
strrchr() 將會(huì)找出 str 字符串中最后一次出現(xiàn)的字符 c 的地址,然后將該地址返回。
注意:字符串 str 的結(jié)束標(biāo)志 NUL 也會(huì)被納入檢索范圍,所以 str 的組后一個(gè)字符也可以被定位。
【返回值】如果找到就返回該字符最后一次出現(xiàn)的位置,否則返回 NULL。
返回的地址是字符串在內(nèi)存中隨機(jī)分配的地址再加上你所搜索的字符在字符串位置。設(shè)字符在字符串中首次出現(xiàn)的位置為 i,那么返回的地址可以理解為 str + i。
提示:如果希望查找某字符在字符串中第一次出現(xiàn)的位置,可以使用 strchr() 函數(shù)。
實(shí)例:查找字符5最后一次出現(xiàn)的位置。
#include <stdio.h>#include <stdlib.h>#include <string.h>int main(){ char *s = "0123456789012345678901234567890"; char *p; p = strrchr(s, '5'); printf("%ld/n", s); printf("%ld/n", p); system("pause"); return 0;}
執(zhí)行結(jié)果:
1299950412999529
新聞熱點(diǎn)
疑難解答
圖片精選