當前位置:首頁 » 編程語言 » 判斷字元串字元位置c語言函數
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

判斷字元串字元位置c語言函數

發布時間: 2022-09-09 02:12:01

c語言查找字元串

字元串在存儲上類似字元數組,所以它每一位的單個元素都是可以提取的,如s=「abcdefghij」,則s[1]=「b」,s[9]="j",而字元串的零位正是它的長度,c語言查找字元串方法為:

1、首先,定義一個字元數組變數,可以這么寫。

注意事項:

盡管形式字元串可以有任意(但有限)的長度,實際語言的字元串的長度經常被限制到一個人工極大值。有兩種類型的字元串數據類型: 「定長字元串」,它有固定的極大長度並且不管是否達到了這個極大值都使用同樣數量的內存。

Ⅱ C語言中如何查找字元串

用strstr這個函數

包含文件:string.h
函數名: strstr
函數原型:extern char *strstr(char *str1, char *str2);
功能:找出str2字元串在str1字元串中第一次出現的位置(不包括str2的串結束符)。
返回值:返回該位置的指針,如找不到,返回空指針。

源代碼:

#include<stdio.h>
#include<string.h>//調用string.h中的strstr函數
void main(){
char ch1[255]="abcde";
char ch2[100]="cd";
char* ch;//用於接受返回值
if((ch=strstr(ch1,ch2))==NULL){//說明沒有要找的字元串
printf("-1\n");
}else{//說明找到了那個字元串
printf("%d\n",ch-ch1+1);//cde的地址減去abcde的地址+1
}
}

Ⅲ C語言中怎麼查找字元串數組中的某個字元

程序有誤,修改如下:

#include <stdio.h>

#include <string.h>

void main(){

char sh[20];

gets(sh);

for(int i=0;i<20;i++)

{

if(sh[i]='@')

{

printf("判斷出有字元@ ");

break;

}

if(sh[i]='')printf("無字元@ ");

}

}

(3)判斷字元串字元位置c語言函數擴展閱讀:

數組的使用規則:

1.可以只給部分元素賦初值。當{ }中值的個數少於元素個數時,只給前面部分元素賦值。例如:static int a[10]={0,1,2,3,4};表示只給a[0]~a[4]5個元素賦值,而後5個元素自動賦0值。

2.只能給元素逐個賦值,不能給數組整體賦值。例如給十個元素全部賦1值,只能寫為:static int a[10]={1,1,1,1,1,1,1,1,1,1};而不能寫為:static int a[10]=1;請注意:在C、C#語言中是這樣,但並非在所有涉及數組的地方都這樣,資料庫是從1開始。

3.如不給可初始化的數組賦初值,則全部元素均為0值。

4.如給全部元素賦值,則在數組說明中, 可以不給出數組元素的個數。例如:static int a[5]={1,2,3,4,5};可寫為:static int a[]={1,2,3,4,5};動態賦值可以在程序執行過程中,對數組作動態賦值。這時可用循環語句配合scanf函數逐個對數組元素賦值。

網路-數組

Ⅳ c語言字元串的查找用什麼函數

用strstr這個函數
包含文件:string.h
函數名: strstr
函數原型:extern char *strstr(char *str1, char *str2);
功能:找出str2字元串在str1字元串中第一次出現的位置(不包括str2的串結束符)。
返回值:返回該位置的指針,如找不到,返回空指針。

Ⅳ C語言,判斷字元串2(str2)是否在str1內的那個函數怎麼用請詳細說下,搜了幾個看不是太懂,菜鳥,謝了

#include <string.h>

char *strchr(const char *s, int c);
char *strrchr(const char *s, int c);
返回值:如果找到字元c,返回字元串s中指向字元c的指針,如果找不到就返回NULL
strchr在字元串s中從前到後查找字元c,找到字元c第一次出現的位置時就返回,返回值指向這個位置,如果找不到字元c就返回NULL。strrchr和strchr類似,但是從右向左找字元c,找到字元c第一次出現的位置就返回,函數名中間多了一個字母r可以理解為Right-to-left。

#include <string.h>

char *strstr(const char *haystack, const char *needle);
返回值:如果找到子串,返回值指向子串的開頭,如果找不到就返回NULL
strstr在一個長字元串中從前到後找一個子串(Substring),找到子串第一次出現的位置就返回,返回值指向子串的開頭,如果找不到就返回NULL。這兩個參數名很形象,在乾草堆haystack中找一根針needle,按中文的說法叫大海撈針,顯然haystack是長字元串,needle是要找的子串。

樓主有興趣可以去亞嵌的網站下一下一站式學習C編程這本書(實質是網頁版)。

Ⅵ c語言如何查找字元串

C語言中的標准函數庫中的strchr()函數可以實現查找字元串中的某個字元。

C語言strchr()函數:

查找某字元在字元串中首次出現的位置

頭文件:#include <string.h>

strchr() 用來查找某字元在字元串中首次出現的位置,其原型為:

char * strchr (const char *str, int c);

【參數】str 為要查找的字元串,c 為要查找的字元。

strchr() 將會找出 str 字元串中第一次出現的字元 c 的地址,然後將該地址返回。

注意:字元串 str 的結束標志 NUL 也會被納入檢索范圍,所以 str 的組後一個字元也可以被定位。

【返回值】如果找到指定的字元則返回該字元所在地址,否則返回 NULL。

返回的地址是字元串在內存中隨機分配的地址再加上你所搜索的字元在字元串位置。設字元在字元串中首次出現的位置為 i,那麼返回的地址可以理解為 str + i。

提示:如果希望查找某字元在字元串中最後一次出現的位置,可以使用 strrchr() 函數。

Ⅶ C語言查找字元串位置函數。請高手幫忙解決

#include<stdio.h>

#include<string.h>

intfindstr(char*s_str,char*d_str);

intmain(void){

chars1[80],s2[80];

intn;

printf("請輸入一個字元串:");

gets(s1);

printf("請輸入你要查找的字元串:");

gets(s2);

n=findstr(s1,s2);

printf("%s在%s里共有%d個 ",s2,s1,n);

return0;

}

intfindstr(char*s_str,char*d_str){

inti,j,k,count=0;

chartemp[80];

intlength=strlen(d_str);

for(i=0;i<strlen(s_str);i++){

k=0;

for(j=i;j<i+length;j++)

temp[k++]=s_str[j];

temp[k]=''

if(!strcmp(temp,d_str))count++;

}

returncount;

}

Ⅷ 求標准C語言,查找某字元串在指定位元組串中的位置代碼。

#include<stdio.h>
#include<stdlib.h>

intFindStr(char*source,char*target)
{
inti,j;
ints_len=strlen(source);
intt_len=strlen(target);
if(t_len>s_len)
{
return-1;
}
for(i=0;i<=s_len-t_len;i++)
{
j=0;
intflag=1;
if(source[i]==target[j])
{
intk,p=i;
for(k=0;k<t_len;k++)
{
if(source[p]==target[j])
{
p++;
j++;
continue;

}
else
{
flag=0;
break;
}
}
}
else
{
continue;
}
if(flag==1)
{
returni+1;
}
}
return-1;
}

intmain(intargc,char*argv[])
{
chars1[50]={""};
chars2[50]={""};
fflush(stdin);
scanf("%[^ ]",s1);
fflush(stdin);
scanf("%[^ ]",s2);
intre=FindStr(s1,s2);
printf("%d",re);
return0;
}

Ⅸ (c++或C語言)查找文件中字元串的位置

頭文件:#include <string.h>

strchr() 用來查找某字元在字元串中首次出現的位置,其原型為:
char * strchr (const char *str, int c);

【參數】str 為要查找的字元串,c 為要查找的字元。

strchr() 將會找出 str 字元串中第一次出現的字元 c 的地址,然後將該地址返回。

注意:字元串 str 的結束標志 NUL 也會被納入檢索范圍,所以 str 的組後一個字元也可以被定位。

【返回值】如果找到指定的字元則返回該字元所在地址,否則返回 NULL。

返回的地址是字元串在內存中隨機分配的地址再加上你所搜索的字元在字元串位置。設字元在字元串中首次出現的位置為 i,那麼返回的地址可以理解為 str + i。

提示:如果希望查找某字元在字元串中最後一次出現的位置,可以使用 strrchr() 函數。

【實例】查找字元5首次出現的位置。
復制純文本新窗口
#include <stdio.h>#include <stdlib.h>#include <string.h>int main(){ char *s = ""; char *p; p = strchr(s, '5'); printf("%ld\n", s); printf("%ld\n", p); system("pause"); return 0;}