C语言实现my_strlen,my_strcpy,my_strcat,my_strcmp
#include<stdio.h>
#include<assert.h>
#include<string.h>
int my_strlen(char *str)
{
int length = 0;
while (*str != '\0')
{
length++;
str++;
}
return length;
}
char my_strcpy(char *str1, char *str2,int length)
{
assert(str1);
assert(str2);
for (int i = 0; i < length; i++)
{
str1[i] = str2[i];
}
return str1;
}
char my_strcat(char *str1, char *str2)
{
int length1 = strlen(str1);
int length2 = strlen(str2);
for (int i = 0; i < length2; i++)
{
str1[length1 + i] = str2[i];
}
return str1;
}
char my_strcmp(char *str1,char *str2)
{
while (*str1 = *str2)
{
if (*str1 == '\0')
return 0;
str1++;
str2++;
}
return *str1 - *str2;
}
int main()
{
char str1[30] = "ABCDEFG";
char str2[30] = { 0 };
char str3[30] = "HIJK";
int length = 0;
length = my_strlen(str1);
printf("%d\n", length);
my_strcpy(str2, str1,30);
printf("%s\n", str2);
my_strcat(str1, str3);
printf("%s\n", str1);
printf("%d\n", strcmp(str1, str3));
return 0;
}