C語(yǔ)言中查找字符在字符串中出現(xiàn)的位置的方法
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é)果:
12016464 12016469
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é)果:
12999504 12999529
相關(guān)文章
CFileDialog設(shè)置多選的問(wèn)題解決
前幾天同事問(wèn)我在CFileDialog中多選時(shí)按確定按鈕后DoModal函數(shù)的返回值是IDCANCEL的問(wèn)題解決2013-02-02
Qt實(shí)現(xiàn)網(wǎng)易云音樂(lè)進(jìn)度條效果
這篇文章主要為大家詳細(xì)介紹了Qt實(shí)現(xiàn)網(wǎng)易云音樂(lè)進(jìn)度條效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-08-08
c語(yǔ)言實(shí)現(xiàn)MD5算法的項(xiàng)目實(shí)踐
MD5用于確保信息傳輸完整一致,是計(jì)算機(jī)廣泛使用的雜湊算法之一,本文主要介紹了c語(yǔ)言實(shí)現(xiàn)MD5算法,具有一定的參考價(jià)值,感興趣的可以了解一下2023-08-08

