标签:字符串
判断一个字符串是否为另外一个字符串旋转之后的字符串。
例如:给定s1 = AABCD和s2 = BCDAA,返回1,给定s1=abcd和s2=ACBD,返回0.
#include<stdio.h>
#include<stdlib.h>
#include<assert.h>
#include<string.h>
char *my_strncat(char *dest, const char *src, size_t count)
{
assert(dest);
assert(src);
char *ret = dest;
while (*dest)
{
dest++;
}
while (count--)
{
*dest++ = *src++;
}
*dest = ‘\0‘;
return ret;
}
char *my_strstr(char *str1, const char *str2)//
{
char*ptr = str1;
char*p1 = NULL;
char*p2 = NULL;
while (*ptr)
{
p1 = ptr;
p2 = str2;
while (*p1 == *p2)
{
p1++;
p2++;
if (*p2 == ‘\0‘)
{
return ptr;
}
}
ptr++;
}
return NULL;
}
int main()
{
char arr[20] = "abcdef";//预留空间
char *p = "cdefab";
int len = strlen(arr);
my_strncat(arr, arr, len);
char*ch=my_strstr(arr, p);
if (ch != NULL)
{
printf("%p\n", ch);
printf("%s", ch);
}
else
{
printf("not exit");
}
system("pause");
return 0;
}标签:字符串
原文地址:http://940814wang.blog.51cto.com/10910665/1765433