#include <stdio.h>
#include <string.h>
#include <assert.h>
char *my_strcpy (char *str_des , const char *str_source)
{
char *ret = str_des;
assert(str_des);
assert(str_source);
while(*str_des++ = *str_source++)
{
;
}
return ret;
}
int main()
{
char str[]="abcdef158";
char arr[20];
my_strcpy(arr,str);
printf("%s\n",arr);
return 0;
}
#include <stdio.h>
#include <string.h>
#include <assert.h>
char *my_strcat (char *dest ,const char *src)
{
char *ret = dest;
assert(dest);
assert(src);
while(*dest)
{
dest++;
}
while(*dest++ = *src++)
{
;
}
return ret;
}
int main()
{
char str[]="abcdef158";
char arr[20]="9981";
my_strcat(arr,str);
printf("%s\n",arr);
return 0;
}
#include <stdio.h>
#include <string.h>
int my_strcmp (char *dest ,char *src)
{
int ret;
while(!(ret = *(unsigned char *)dest -*(unsigned char *)src))
{
dest++;
src++;
}
if(ret > 0)
{
return 1;
}else if(ret < 0)
{
return -1;
}else
{
return 0;
}
}
int main()
{
int x;
int y;
char str[]=" ";
char arr[]="abc";
x = my_strcmp(str,arr);
y = strcmp(str,arr);
printf("my_strcmp = %d\n",x);
printf("strcmp = %d\n",y);
return 0;
}
#include <stdio.h>
#include <string.h>
#include <assert.h>
char *my_strstr (const char *src ,const char *dest)
{
const char *str1 = src;
const char *str2 = dest;
char *ret = NULL;
assert(dest);
assert(src);
if(*dest=='\0')
return NULL;
while(*str1)
{
ret = str1;
while(*str2)
{
if(*str1 && *str2 && (*str1 == *str2))
{
str1++;
str2++;
}
else
{
break;
}
}
if(*str2 == '\0')
{
return ret;
}
str1++;
}
return NULL;
}
int main()
{
char str[]="1234abc886";
char arr[]="abc";
char *ps = NULL;
char *pp = NULL;
ps = my_strstr(str,arr);
pp = strstr(str,arr);
printf("%s\n",pp);
if(ps)
{
printf("find:%s\n",ps);
}
else
{
printf("no find\n");
}
return 0;
}