Ⅰ c语言字符串匹配
1、c语言字符串匹配可以用strcmp函数。
2、strcmp是比较两个字符串的大小,两个字符串相同时返回0,第一个字符串大于第二个字符串时返回一个正值,否则返回负值.
比较两个字符串的算法是:逐个比较两个串中对应的字符,字符大小按照ASCII码值确定,从左向右比较,如果遇到不同字符,所遇第一对不同字符的大小关系就确定了两个字符串的大小关系,如果未遇到不同字符而某个字符串首先结束,那么这个字符串是较小的,否则两个字符串相等。
Ⅱ C语言字符串处理函数
其实那些字符串函数并不复杂。任何一个的实现都不出五行代码:
char *strcpy( char *dst, const char *src ) {
char *destination = dst;
while( *dst++ = *src++ )
;
return destination;
}
char *strcat( char *dst, const char *src ) {
char *destination = dst;
while( *dst++ )
;
strcpy( --dst, src );
return destination;
}
int strcmp( const char *s1, const char *s2 ) {
for( ; *s1 == *s2; s1++, s2++ )
if( *s1 == '\0' ) return 0;
return *s1 - *s2;
}
unsigned strlen( const char *s ) {
const char *t = s;
while( *t++ )
;
return --t - s;
}
Ⅲ C语言:我的字符串匹配函数
我这里运行,没有运行时错误,只是按你的代码结果不对。
调整后代码如下:
#include<stdio.h>
#include<string.h>
char*strstr(char*str1,char*str2)
{
intn1=strlen(str1);
intn2=strlen(str2);
intflg=0;
char*p1=str1;
char*p2=str2;
if(n1<n2)returnNULL;
inti;
for(i=0;i<n1-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)returnstr1+i;//你到底要输出什么,原函数是输出位置int
}
returnNULL;//
}
intmain()
{
charstr1[]="str1adsfqwer";
charstr2[]="ads";
char*p=strstr(str1,str2);
printf("%s ",p);
return0;
}
Ⅳ 写一个C语言查找字符串函数
intsame(char*a,char*b)
{
ints=0;
char*m=b;
while(*a==*b&&a<m){a++;b++;s++;}
returns;
}
intmaxsubstr(char*s,char**p)
{
char*last=NULL;
intlastL=0;
while(*s)
{
char*d=s+1;
while(*d)
{
intl=same(s,d);
if(l>lastL){lastL=l;last=s;}
d++;
}
s++;
}
*p=last;
returnlastL;
}
Ⅳ c语言字符串匹配的问题
如果是求取字符串B是否是A其中的部分字串,比如A=“aaabbcdf”,B=“bcd”,此处应该返回真,需要一个嵌套循环,程序需要那么多!
Ⅵ c语言如何匹配字符串的问题
可以使用strcmp函数匹配两个字符串,也可以用strstr函数在前一个字符串中查找后字符串包含的字符串
Ⅶ c语言字符串处理函数有哪些
1、puts函数——输出字符串的函数
一般的形式为puts(字符串组)
作用:将一个字符串输出到终端。如,char一个string,并赋予初值。调用puts(string);进行字符串的输出。
2、gets函数——输入字符串的函数
一般的形式:gets(字符数组)
作用:从终端输入一个字符串到字符数组,并且得到一个函数值成为字符数组的起始地址。
gets(str);
键盘输入,,,,你懂得。
注意:puts和gets函数只能输出或者输入一个字符串。
3、strcat函数——字符串连接函数
一般的形式:strcat(字符数组1,字符数组2);
作用:把两个字符串数组中字符串连接起来,把字符串2连接到字符串1的后面。
说明:字符数组1必须足够大,以便容纳连接后的新字符串。
4、strcpy/strncpy函数——字符串复制函数
一般形式:strcpy(字符数组1,字符串2);
作用:将字符串2复制到字符数组1中去。
如:char str1[10],str2[]="DongTeng";
strcpy(str1,str2);
执行后的结果为:你懂得
注意:
1. 不能用赋值语句直接将一个字符串常量或者字符数组直接给一个字符数组。
2. 用strncpy可以赋值指定的位置的字符。strncpy(str1,str2,3);将str2中的第3个字符复制到str1中。
5、strcmp函数——字符串比较函数
一般形式:strcmp(字符串1,字符串2);
作用:用来比较两个字符串的差异。具有不同的比较规则。
6、strlen函数——测字符串长度的函数
一般形式:strlen(字符数组);
如:char str[10]="DongTeng";
printf("%d",strlen(str));
得到的结果是:5
7、strlwr函数——转换为小写的函数
一般形式:strlwr(字符串);
8、strupr函数——转换为大写的函数
一般形式:strupr(字符串)。
Ⅷ c语言字符串的查找用什么函数
用strstr这个函数
包含文件:string.h
函数名: strstr
函数原型:extern char *strstr(char *str1, char *str2);
功能:找出str2字符串在str1字符串中第一次出现的位置(不包括str2的串结束符)。
返回值:返回该位置的指针,如找不到,返回空指针。
Ⅸ C语言中有哪些字符串处理函数
你可以看一下头文件string.h和stdio.h里面的相关函数声明,好多好多。
这里就不一一列出了……比如下面列出的只是其中一部分……
_CRTIMP char * __cdecl strcpy(char *, const char *);
_CRTIMP char * __cdecl strcat(char *, const char *);
_CRTIMP int __cdecl strcmp(const char *, const char *);
_CRTIMP size_t __cdecl strlen(const char *);
_CRTIMP char * __cdecl strchr(const char *, int);
_CRTIMP int __cdecl _strcmpi(const char *, const char *);
_CRTIMP int __cdecl _stricmp(const char *, const char *);
_CRTIMP int __cdecl strcoll(const char *, const char *);
_CRTIMP int __cdecl _stricoll(const char *, const char *);
_CRTIMP int __cdecl _strncoll(const char *, const char *, size_t);
_CRTIMP int __cdecl _strnicoll(const char *, const char *, size_t);
_CRTIMP size_t __cdecl strcspn(const char *, const char *);
_CRTIMP char * __cdecl _strp(const char *);
_CRTIMP char * __cdecl _strerror(const char *);
_CRTIMP char * __cdecl strerror(int);
_CRTIMP char * __cdecl _strlwr(char *);
_CRTIMP char * __cdecl strncat(char *, const char *, size_t);
_CRTIMP int __cdecl strncmp(const char *, const char *, size_t);
_CRTIMP int __cdecl _strnicmp(const char *, const char *, size_t);
_CRTIMP char * __cdecl strncpy(char *, const char *, size_t);
_CRTIMP char * __cdecl _strnset(char *, int, size_t);
_CRTIMP char * __cdecl strpbrk(const char *, const char *);
_CRTIMP char * __cdecl strrchr(const char *, int);
_CRTIMP char * __cdecl _strrev(char *);
_CRTIMP size_t __cdecl strspn(const char *, const char *);
_CRTIMP char * __cdecl strstr(const char *, const char *);
_CRTIMP char * __cdecl strtok(char *, const char *);
_CRTIMP char * __cdecl _strupr(char *);
_CRTIMP size_t __cdecl strxfrm (char *, const char *, size_t);
Ⅹ c语言中字符串查找函数是什么,调用格式是怎样的
char *strchr(cs,c) return pointer to first occurrence of c in cs or NULL if not present.