strlen strcpy strcmp strcat函数封装
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int my_strlen(char a[100])
{
char *pa = a;
int len = 0;
while (*pa != '\0')
{
len++;
pa++;
}
return len;
}
char *my_strcat(char dest[100], char src[100])
{
char *p = dest;
char *q = src;
while (*p != '\0')
{
p++;
}
while (*q != '\0')
{
*p = *q;
p++;
q++;
}
*p = '\0';
return dest;
}
int my_strcmp(char a[100], char b[100])
{
char *pa = a;
char *pb = b;
while (*pa != '\0' && *pb != '\0')
{
if (*pa != *pb)
{
return *pa - *pb;
}
pa++;
pb++;
}
return *pa - *pb;
}
char *my_strcpy(char a[100], char b[100])
{
char *pa = a;
char *pb = b;
while (*pa != '\0' || *pb != '\0')
{
*pa = *pb;
pa++;
pb++;
}
*pa = '\0';
return a;
}
int main(int argc, char const *argv[])
{
printf("strlen功能:\n");
char str_len[100];
printf("请输入字符串:");
gets(str_len);
printf("字符串长度为%d\n", my_strlen(str_len));
printf("strcpy功能:\n");
char str_cpy1[100];
char str_cpy2[100];
printf("请输入源字符串:");
gets(str_cpy1);
printf("请输入要复制的字符串:");
gets(str_cpy2);
printf("复制后字符串为%s\n", my_strcpy(str_cpy1, str_cpy2));
printf("strcmp功能:\n");
char str_cmp1[100];
char str_cmp2[100];
printf("请输入第一个字符串:");
gets(str_cmp1);
printf("请输入第二个字符串:");
gets(str_cmp2);
if (my_strcmp(str_cmp1,str_cmp2) > 0)
{
printf("字符串一大\n");
}
else if(my_strcmp < 0)
{
printf("字符串二大\n");
}else
{
printf("一样大\n");
}
printf("strcat功能:\n");
char str_cat1[100];
char str_cat2[100];
printf("请输入源字符串:");
gets(str_cat1);
printf("请输入要拼接的字符串:");
gets(str_cat2);
printf("拼接后字符串为%s\n", my_strcat(str_cat1, str_cat2));
return 0;
}