c语言高级匹配函数,精确匹配函数使用

C语言匹配数组里的内容,要怎么样匹配

如果是字符数组,可以使用strstr函数查找匹配。

创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:网站设计制作、成都做网站、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的泉山网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!

strstr() 函数搜索一个字符串在另一个字符串中的第一次出现。找到所搜索的字符串,则该函数返回第一次匹配的字符串的地址;如果未找到所搜索的字符串,则返回NULL。

包含文件:string.h

函数名: strstr

函数原型:

extern char *strstr(char *str1, const char *str2);

语法:

char * strstr(str1,str2)

str1: 被查找目标 string expression to search.

str2: 要查找对象 The string expression to find.

返回值:若str2是str1的子串,则先确定str2在str1的第一次出现的位置,并返回此str1在str2首位置的地址。;如果str2不是str1的子串,则返回NULL。

如果是普通类型的数组,需要使用双重循环来实现匹配。

例如:

int a[10]={0,1,2,3,4,5,6,7,8,9,0};

int b[3]={5,6,7};

int i,j;

for(i=0;i7;i++){

for(j=0;j3;j++) if(a[i+j]!=b[j]) break; //进行匹配,如果其中一个不匹配,中断循环。

if(j==3){    //寻找到匹配

printf("匹配!");

break;

}

}

if(i==7){    //循环完仍未找到匹配

printf("不匹配!");

}

C语言:我的字符串匹配函数

我这里运行,没有运行时错误,只是按你的代码结果不对。

调整后代码如下:

#include stdio.h

#include string.h

char *strstr(char*str1,char*str2)

{

int n1 = strlen(str1);

int n2 = strlen(str2);

int flg = 0;

char *p1 = str1;

char *p2 = str2;

if(n1n2) return NULL;

int i;

for(i=0;in1-n2+1;i++)

{

p1 = str1+i;

p2 = str2;

while(*p2!=NULL)//

{

if(*p1!=*p2) 

{

flg = 0;

p1++;

p2++;

break;

}

p1++;

p2++;

flg = 1;                

}

if(flg) return str1+i;//你到底要输出什么,原函数是输出位置int

}

return NULL;//

}

int main()

{

char str1[]="str1adsfqwer";

char str2[]="ads";

char *p = strstr(str1,str2);

printf("%s\n",p);

return 0;

}

c语言字符串匹配

1、c语言字符串匹配可以用strcmp函数。

2、strcmp是比较两个字符串的大小,两个字符串相同时返回0,第一个字符串大于第二个字符串时返回一个正值,否则返回负值.

比较两个字符串的算法是:逐个比较两个串中对应的字符,字符大小按照ASCII码值确定,从左向右比较,如果遇到不同字符,所遇第一对不同字符的大小关系就确定了两个字符串的大小关系,如果未遇到不同字符而某个字符串首先结束,那么这个字符串是较小的,否则两个字符串相等。


文章标题:c语言高级匹配函数,精确匹配函数使用
新闻来源:http://hbruida.cn/article/dsscidg.html