c语言字符串匹配库函数 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语言字符串处理的库函数有哪些函数名: strrchr
功能: 在串中查找指定字符c语言字符串匹配库函数的最后一个出现
用法: char *strrchr(char *str, char c);
举例:
[cpp] view plain copy
char fullname="./lib/lib1.so";
char *ptr;
ptr = strrchr(fullname,'/');
printf("filename is %s",++ptr);
//运行结果:filename is lib1.so
函数名: strchr
功能: 在串中查找指定字符c语言字符串匹配库函数的第一个出现
用法: char *strchr(char *str, char c);
举例:
[cpp] view plain copy
char fullname="./lib/lib1.so";
char *ptr;
ptr = strrchr(fullname,'.');
printf("after strchr() is %s",++ptr);
//运行结果:after strchr() is/lib/lib1.so
函数名: strtok
功能: 在串中查找指定字符的第一个出现
用法: char *strtok(char *s, char *delim);
说明:
1.strtok函数的实质上的处理是c语言字符串匹配库函数,strtok在s中查找包含在delim中的字符并用NULL(’/0′)来替换,直到找遍整个字符串 。这句话有两层含义:(1)每次调用strtok函数只能获得一个分割单位 。(2)要获得所有的分割单元必须反复调用strtok函数 。
2.strtok函数以后的调用时的需用NULL来替换s.
3.形参s(要分割的字符串)对应的变量应用char s[]=”….”形式c语言字符串匹配库函数,而不能用char *s=”….”形式 。
举例:
[cpp] view plain copy
voidmain()
{
char buf[]=”Golden Global View”;
char* token = strtok( buf, ” “);
while( token != NULL )
{
printf( ”%s “, token );
token = strtok( NULL, ” “);
}
return 0;
}
/*其结果为:
Golden
Global
View
*/
函数名:strncpy
功能:把src所指由NULL结束的字符串的前n个字节复制到dest所指的数组中
用法:char *strncpy(char *dest, char *src, int n);
说明:
如果src的前n个字节不含NULL字符c语言字符串匹配库函数,则结果不会以NULL字符结束 。
如果src的长度小于n个字节,则以NULL填充dest直到复制完n个字节 。
src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串 。
返回指向dest的指针 。
举例:
[c-sharp] view plain copy
#include syslib.h

推荐阅读