模拟实现strlen
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <stdlib.h>
int my_strlen(const char *str)
{
int count = 0;
while (*str)
{
count++;
str++;
}
return count;
}
int main()
{
char *arr = "abcdef";
printf("%d\n", my_strlen(arr));
system("pause");
return 0;
}
模拟实现strcpy
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
char *my_strcpy(char*dest, const char*src)
{
char *ret = dest;
assert(dest!=NULL);
assert(src!= NULL);
while (*dest++ = *src++)
{
;
}
return ret;
}
int main()
{
char arr1[10] = { 0 };
char *arr2 = "abcdef";
printf("%s\n", my_strcpy(arr1, arr2));
system("pause");
return 0;
}
模拟实现strcat
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
char * my_strcat(char*dest, const char*src)
{
char *ret = dest;
assert(dest!=NULL);
assert(src!= NULL);
while (*dest)
{
dest++;
}
while (*dest++ = *src++)
{
;
}
return ret;
}
int main()
{
char arr[20] = "abcdef";
my_strcat(arr, "hello");
printf("%s\n",arr);
system("pause");
return 0;
}
模拟实现strcmp
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
int my_strcmp(const char* str1, const char*str2)
{
assert(str1 != NULL);
assert(str2!= NULL);
while (*str1 == *str2)
{
if (*str1 == '\0')
return 0;
str1++;
str2++;
}
return *str1 - *str2;
}
int main()
{
printf("%d\n", my_strcmp("aaa", "abc"));
system("pause");
return 0;
}