當前位置:首頁 » 編程語言 » c語言查找字元串

c語言查找字元串

發布時間: 2023-06-03 14:12:40

『壹』 c語言從文件中查找字元串

c語言從文件中查找字元串的方法。

如下參考:

1.打開python命令窗口,定義並分配字元串變數s1。

『貳』 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語言查找字元串

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

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

注意事項:

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

『伍』 c語言查找並輸出重復字元串

//#define_CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
voidstringsort(char(*p)[1000],intm)//排列字元串,長的字元串在前面,短的在後面。
{
inti,j;
charc[1024];
for(i=0;i<m-1;i++)
{
for(j=0;j<m-1-i;j++)
if(strlen(p[j])<strlen(p[j+1]))
{
strcpy(c,p[j]);
strcpy(p[j],p[j+1]);
strcpy(p[j+1],c);
}
}
}
intsubstr(char*str,char*p)//判斷p是否是str的字串,是的話返回1,不是返回0
{
inti,j;
for(i=0;str[i];i++)
{
for(j=0;str[i]==p[j]&&p[j];i++,j++);
if(p[j]==0)
{
return1;
}
if(j!=0)
{
i--;
}
}
return0;
}
intmain(void)
{
charstr[1000]="abc1243128129a343abc";
charss[1024]={0};//放子串的臨時數組
charss1[1000][1000];//所有長度大於1的子串放入這里
intm=0;//子串的個數
inta[1024]={0};//統計子串的個數的數組
inti,j;
for(i=0;str[i];i++)
{
memset(ss,0,1024);
intk=0;
ss[k++]=str[i];
for(j=i+1;str[j];j++)
{
ss[k++]=str[j];
strcpy(ss1[m++],ss);
}

}
//上面這段程序是找出字元串長度大於1的所有子串

stringsort(ss1,m);//把這些字串按長度放入ss1中,長的在前面,短的在後面

for(i=0;i<m;i++)
{

char*p=str;
while((p=strstr(p,ss1[i]))!=NULL)
{
a[i]++;
p=p+strlen(ss1[i]);
}
}//這段程序是找到每一個子串出現的次數,並放入a數組中

for(i=0;i<m;i++)
{
intflag=0;//標記符
for(j=0;j<i;j++)
{
if(substr(ss1[j],ss1[i])&&a[j]==a[i])//比如abc出現了三次,而bc出現三次,那麼只輸出abc的次數
{
flag=1;
}

}
if(a[i]>1&&flag==0)
printf("%s:%d ",ss1[i],a[i]);
}

//system("pause");

return0;
}
//寫了一晚上,真是不容易啊

熱點內容
去哪裡找自己的支付密碼 發布:2024-10-25 14:46:18 瀏覽:417
生產文件夾 發布:2024-10-25 14:46:14 瀏覽:705
windows搭建ftp伺服器埠修改 發布:2024-10-25 14:46:11 瀏覽:322
勞拉與馬ftp 發布:2024-10-25 00:21:16 瀏覽:359
奪寶網站源碼 發布:2024-10-25 00:19:02 瀏覽:454
編程文本編輯器 發布:2024-10-25 00:09:28 瀏覽:972
編程徐帥 發布:2024-10-25 00:03:25 瀏覽:307
手機安卓模擬器如何打開文件 發布:2024-10-25 00:02:55 瀏覽:722
pythonday 發布:2024-10-24 23:55:47 瀏覽:425
g編譯c文件 發布:2024-10-24 23:55:03 瀏覽:294