字符串在存儲(chǔ)上類似字符數(shù)組,所以它每一位的單個(gè)元素都是可以提取的,如s=“abcdefghij”,則s[1]=“b”,s[9]="j",而字符串的零位正是它的長(zhǎng)度,c語言查找字符串方法為:
創(chuàng)新互聯(lián)專注于恩施土家網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供恩施土家營(yíng)銷型網(wǎng)站建設(shè),恩施土家網(wǎng)站制作、恩施土家網(wǎng)頁設(shè)計(jì)、恩施土家網(wǎng)站官網(wǎng)定制、成都小程序開發(fā)服務(wù),打造恩施土家網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供恩施土家網(wǎng)站排名全網(wǎng)營(yíng)銷落地服務(wù)。
1、首先,定義一個(gè)字符數(shù)組變量,可以這么寫。
2、然后輸入字符的長(zhǎng)度。
3、接下來就可以直接賦值字符串。
4、也可以定義多個(gè)字符串,可以寫成這樣。
5、使用字符串時(shí),建議加上該頭文件。
6、此外,還可以使用函數(shù)為其初始化。
注意事項(xiàng):
盡管形式字符串可以有任意(但有限)的長(zhǎng)度,實(shí)際語言的字符串的長(zhǎng)度經(jīng)常被限制到一個(gè)人工極大值。有兩種類型的字符串?dāng)?shù)據(jù)類型: “定長(zhǎng)字符串”,它有固定的極大長(zhǎng)度并且不管是否達(dá)到了這個(gè)極大值都使用同樣數(shù)量的內(nèi)存。
#includestdio.h
#includestring.h
int?findstr(char?*s_str,char?*d_str);
int?main(void)?{
char?s1[80],s2[80];
int?n;
printf("請(qǐng)輸入一個(gè)字符串:");
gets(s1);
printf("請(qǐng)輸入你要查找的字符串:");
gets(s2);
n=findstr(s1,s2);
printf("%s在%s里共有%d個(gè)\n",s2,s1,n);
return?0;
}
int?findstr(char?*s_str,char?*d_str)?{
int?i,j,k,count=0;
char?temp[80];
int?length=strlen(d_str);
for(i=0;istrlen(s_str);i++)?{
k=0;
for(j=i;ji+length;j++)
temp[k++]=s_str[j];
temp[k]='\0';
if(!strcmp(temp,d_str))?count++;
}
return?count;
}
C/C++ string庫(string.h)提供了幾個(gè)字符串查找函數(shù),如下:
memchr 在指定內(nèi)存里定位給定字符
strchr 在指定字符串里定位給定字符
strcspn 返回在字符串str1里找到字符串str2里的任意一個(gè)字符之前已查找的字符數(shù)量
strrchr 在字符串里定位給定字符最后一次出現(xiàn)的位置
strpbrk 在字符串str1里定位字符串str2里任意一個(gè)首次出現(xiàn)的字符
strspn 返回字符串str1從開始字符到第一個(gè)不在str2中的字符個(gè)數(shù)
strstr 在字符串str1中定位字符串str2首次出現(xiàn)的位置
用strstr這個(gè)函數(shù)
包含文件:string.h
函數(shù)名: strstr
函數(shù)原型:extern char *strstr(char *str1, char *str2);
功能:找出str2字符串在str1字符串中第一次出現(xiàn)的位置(不包括str2的串結(jié)束符)。
返回值:返回該位置的指針,如找不到,返回空指針。