急!在C语言中怎样判断一个字符串中是否包含另一个字符串

yudh 2002-12-24 12:00:23
急!在C语言中怎样判断一个字符串中是否包含另一个字符串
...全文
2253 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
thllllll 2003-01-01
  • 打赏
  • 举报
回复
有库函数,找一下!
zxl_lim 2002-12-31
  • 打赏
  • 举报
回复
#define MAXSAME 256
void strstrin(char* a, char* b)
{
int i, j, l, h, m, z[MAXSAME];
int k = 0;
l = strlen(b);
m = strlen(a);
char* x = (char*)calloc(l, sizeof(char*));
for(i = 0; i < MAXSAME; i++)
z[i] = -1;
for( i = 0; i < m; i++){
for( j = i, h = 0; j < i + l, h < l; h++, j++){
x[h] = a[j];
}
if(strcmp(b, x) == 0){
z[k] = i;
k++;
}
else
continue;
}
free(x);
}
不知能不能说明问题.
TopCat 2002-12-26
  • 打赏
  • 举报
回复
to mongtze(廉价的程序员) :

你给出的函数是对的,但是返回值不是你说的那样。strstr的返回值是s2在s1中出现位置的指针。比如上面的例子:

char *p = strstr("1234234", "34");

p的值为"1234234"中,"34234"的首地址
AL_lew 2002-12-26
  • 打赏
  • 举报
回复
strstr()
BeatenHero 2002-12-26
  • 打赏
  • 举报
回复
KMP
syiaewy 2002-12-25
  • 打赏
  • 举报
回复
好象有一个算法,是关于查找的,你看看数据结构
johnny_jiang 2002-12-25
  • 打赏
  • 举报
回复
拿第二个参数的头一个字符去和第一个参数的每个字符对比,当遇到相同的时候,用第二个字符去比较第一参数的下一个字符。当第二参数的所有字符都通过了这样的比较,就说明第二包含在第一中!!
哈哈!!说了一堆汉字!这样你明白了吗?
Hanyu94118 2002-12-24
  • 打赏
  • 举报
回复
Output

String to be searched:
The quick brown dog jumps over the lazy fox
1 2 3 4 5
12345678901234567890123456789012345678901234567890

lazy found at position 36
Hanyu94118 2002-12-24
  • 打赏
  • 举报
回复
void main( void )
{
char *pdest;
int result;
printf( "String to be searched:\n\t%s\n", string );
printf( "\t%s\n\t%s\n\n", fmt1, fmt2 );
pdest = strstr( string, str );
result = pdest - string + 1;
if( pdest != NULL )
printf( "%s found at position %d\n\n", str, result );
else
printf( "%s not found\n", str );
}


Hanyu94118 2002-12-24
  • 打赏
  • 举报
回复
#include <string.h>
#include <stdio.h>

char str[] = "lazy";
char string[] = "The quick brown dog jumps over the lazy fox";
char fmt1[] = " 1 2 3 4 5";
char fmt2[]= "12345678901234567890123456789012345678901234567890";



mongtze 2002-12-24
  • 打赏
  • 举报
回复
int strstr(s1,s2)
返回s2在s1中第一次出现的位置(也有可能是s1在s2中第一次出现的位置,我具体忘了,你可以查一查)

如s1='123456'
s2='34'
则strstr(s1,s2) = 3

24,854

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧