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://scyingshan.cn/article/dsscidg.html