69,371
社区成员
发帖
与我相关
我的任务
分享
#include <stdio.h>
#include <string>
using namespace std;
//put 2 string
//find the str1 for str2
//return addrss of str2 in the str1
char *findstr(const char *str1,const char *str2)
{
int len1,len2;
len1=strlen(str1);
len2=strlen(str2);
if(len1 <len2 ||len2==0) return NULL;
//-------------------
int i,j;
char *p1,*p2;
p1=(char*)str1;
p2=(char*)str2;
int key=0;
for(i=0;i <len1-len2;i++)
{
for(j=0;j <len2;j++)
{
if(p1[i]==p2[j]) key=1;
else {key=0;break;}
}
if(key==1) break;
}
--i;
if(key==1) return &p1[i];
else return NULL;
}
char *getstring(char *str)
{
int slong;
str=(char*)malloc((sizeof(char)*50)+1);
slong=sizeof(str);
fgets(str,50,stdin);
slong=sizeof(str);
str=(char*)realloc(str,slong);
return str;
}
int main ()
{
char *string1,*string2;
char *endstr;
printf("input string 1 :");
string1 = getstring(string1);
printf("input string 2 :");
string2 = getstring(string2);
endstr=findstr(string1,string2);
printf("%s\n",endstr);
return 0;
}