#include <stdio.h>
//计算长度
int my_strlen(char* str)
{
int count=0;
char* temp=str;
while (*temp!='\0')
{
count++;
temp++;
}
return count;
}
//复制已有的字符串
void my_strcpy(char* str1,char* str2)//第一个为目标,第二个为被复制字符串
{
int count=0;
while (*(str2+count)!='\0')
{
*(str1+count)=*(str2+count);
count++;
}
}
//对比俩字符串的大小,返回字符串差值,如果完全相同返回0
int my_strcmp(char* str,char* buf)
{
int res=-1;
for(int i=0;*(str+i)!='\0'||*(buf+i);i++)
{
res=*(str+i)-*(buf+i);
}
return res;
}
void my_strcat(char* str1,char* str2)
{
int count=0;
char* temp=str1;
while (*temp!='\0')
{
temp++;
count++;
}
int i=0;
while (*(str2+i)!='\0')
{
*temp=*(str2+i);
temp++;
i++;
}
}
int main(void)
{
char* buf1="awdfafaff";
printf("字符串长度测试:\n");
printf("%d\n",my_strlen(buf1));
char str1[32];
my_strcpy(str1,buf1);
printf("字符串复制测试:\n");
printf("%s\n",str1);
printf("字符串匹配测试:\n");
printf("%d\n",my_strcmp(str1,buf1));
my_strcat(str1," iokaafaf");
printf("字符串拼接测试:\n");
printf("%s\n",str1);
return 0;
}
运行结果