strcopy函数
cpp
char *strcpy( char *strDestination, const char *strSource );
复制字符串函数的实现
cpp
char* my_strcopy(char* dest, char* src)
{
char* ret = dest;
while (*src)
{
*dest++ = *src++;
}
*dest = *src;
return ret;
}
int main() {
char arr[] = "abcdef";
char arr1[20] = { 20 };
my_strcopy(arr1, arr);
printf("%s", arr1);
return 0;
}
strcat函数
合并字符串
cpp
char *strcat( char *strDestination, const char *strSource );
cpp
char my_strcat(char* dest, const char* src)
{
char ret=dest;
while (*dest!='\0')
{
dest++;
}
while (*dest++=*src++)
{
;
}
return ret;
}
int main()
{
char arr[30] = "hellow";
char arr1[] = "world";
my_strcat(arr, arr1);
printf("%s ", arr);
return 0;
}
strcmp函数
比较字符串
cpp
int strcmp( const char *string1, const char *string2 );
cpp
char my_strcmp(char* str1, char* str2)
{
while (*str1==*str2)
{
if (*str1 == '\0')
return 0;
str1++;
str2++;
}
return (*str1 - *str2);
}
int main()
{
char a[] = "abcd";
char b[] = "abcd";
int ret =my_strcmp(a, b);
if (ret<0)
{
printf("<");
}
else if (ret > 0)
{
printf(">");
}
else
{
printf("==");
}
return 0;
}
strstr函数
在a里面查找b
cpp
char *strstr( const char *string, const char *strCharSet );
cpp
char* my_strstr(const char* str1, const char* str2)
{
const char* s1 = str1;
const char* s2 = str2;
const char* p = str1;
while (*p)
{
s1=p;
s2 = str2;
while (*s1 != '\0' && *s2 != '\0' && *s1 == *s2)
{
s1++;
s2++;
}
if (*s2=='\0')
{
return (char*)p;
}
p++;
}
return NULL;
}
int main()
{
char arr[] = "abcbbc";
char arr1[] = "bbc";
char* ret = my_strstr(arr, arr1);
if (ret==NULL)
{
printf("不存在\n");
}
else
{
printf("%s", ret);
}
return 0;
}