1、strpos() 函數(shù)查找字符串在另一字符串中第一次出現(xiàn)的位置。
專業(yè)從事企業(yè)網(wǎng)站建設(shè)和網(wǎng)站設(shè)計(jì)服務(wù),包括網(wǎng)站建設(shè)、域名注冊(cè)、虛擬主機(jī)、企業(yè)郵箱、微信公眾號(hào)開發(fā)、微信支付寶小程序制作、app開發(fā)定制、軟件開發(fā)、等服務(wù)。公司始終通過不懈的努力和以更高的目標(biāo)來要求自己,在不斷完善自身管理模式和提高技術(shù)研發(fā)能力的同時(shí),大力倡導(dǎo)推行新經(jīng)濟(jì)品牌戰(zhàn)略,促進(jìn)互聯(lián)網(wǎng)事業(yè)的發(fā)展。
2、語法:strpos(string,find,start)
3、注意點(diǎn):返回字符串在另一字符串中第一次出現(xiàn)的位置,如果沒有找到字符串則返回 FALSE。注釋:字符串位置從 0 開始,不是從 1 開始。
所以返回值是2
兩個(gè)函數(shù) 都是 查找 “字符串的首次出現(xiàn)位置” string strstr ( string $haystack , mixed $needle [, bool $before_needle = false ] ) 函數(shù) 區(qū)分大小寫 如果想要不區(qū)分大小寫,請(qǐng)使用 stristr()。 int strpos ( string $haystack , mixed $needle [, int $offset = 0 ] )返回 needle 在 haystack 中首次出現(xiàn)的數(shù)字位置。與 strrpos() 不同,在 PHP 5 之前,該函數(shù)可以使用一個(gè)完整字符串作為 needle,并且整個(gè)字符串都將被使用。
這樣:
#includestdio.h
// 計(jì)算字符串長度
int len(char a[])
{
int temp=0,i;
for(i=0;a[i]!='\0';i++)
temp++;
return temp;
}
// 獲取子串在源串中首次出現(xiàn)的位置索引
int index(char a[], char b[])
{
int i,j,temp;
for(i=0;ilen(a)-len(b);i++)
{
temp=i;
j=0;
while(j=len(b) a[temp]==b[j])
{
temp++;
j++;
}
if(j==len(b))
return i;
}
return -1;//返回-1則沒找到指定的子串,否則找到
}
void main()
{
char a[]="hello";
a[len(a)]=' ';//算法改進(jìn),在數(shù)組a的末尾新增一個(gè)空的元素,這樣才能hello中找到hello
printf("%d\n",index(a,"llo"));
}
擴(kuò)展資料:
注意事項(xiàng)
頭文件:#include string.h
strchr() 用來查找某字符在字符串中首次出現(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