您的位置:首页 > 编程语言 > C语言/C++

C语言中函数strlen等的实现

2016-07-18 17:35 302 查看
#include <stdio.h>
//#include <string.h>
#define MAX_SIZE 1024/*把值定义在外面容易修改*/

int my_strlen(char *str)
{
    int len = 0;
    while(*str != '\0')
    {
        len++;
str++;
    }
    return len;
}

char*my_strcpy(char*dest,char*str1)

{

    char*temp = dest;/*不要用形参作运算,否则返回值将不是dest的首地址*/

    while(*str1 !='\0')

    {

        *temp = *str1;
temp++;
str1++;

    }

    *temp = '\0';/*手动加上结束标志符*/

    return dest;

}

int my_strcmp(char*str2,char*str3)

{

    while(*str2 != '\0'&& *str3 != '\0')

    {

        if(*str2 <* str3)

        {

            return -1;  

        }

        if(*str2 > *str3)

        {

            return 1;

        }
str2++;
str3++;

    }

    if((*str2 == '\0')&&(*str3 == '\0'))

        return 0;

    if((*str2 == '\0')&&(*str3 != '\0'))

        return -1;

    if((*str2 != '\0')&&(*str3 == '\0'))

        return 1;

}

char*my_strcat(char*str4,char*str5)

{

    char*result = str4;

    //char*result2 = str5;

    while(*result != '\0')

    {

        result++;

    }

    //char*result1 = result;

    while(*str5 !='\0')

    {

        *result = *str5;
str5++;
result++;

    }

    *result = '\0';

    return str4;

}

int main()

{

    int result;

    char str[MAX_SIZE];

    printf("请输入一个字符:\n");

    scanf("%s",str);

    result = my_strlen(str);

    printf("字符的长度为:%d\n",result);

    char str1[MAX_SIZE];

    char dest[MAX_SIZE] = {0};

    printf("请输入一个字符串:\n");

    scanf("%s",str1);

    char*result2 = my_strcpy (dest,str1);

    printf("dest = %s\n",dest);

    printf("result2 = %s\n",result2);

    char str2[MAX_SIZE];

    char str3[MAX_SIZE];

    printf("请输入第一个字符串:\n");

    scanf("%s",str2);

    printf("请输入第二个字符串:\n");

    //getchar();

    scanf("%s",str3);

    //getchar();

    int result3 = my_strcmp(str2,str3);

    printf("result3 = %d\n",result3);

    char str4[MAX_SIZE];

    char str5[MAX_SIZE];

    printf("请输入第一个字符串:\n");

    scanf("%s",str4);/*gets函数可以录入空格,但空格在数组里面显示成‘‘\0’*/

    //gets(str4);

    printf("请输入第二个字符串:\n");

    scanf("%s",str5);

    //gets(str5);

    char *result4 = my_strcat(str4,str5);

    printf("result4 = %s\n",result4);

    return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: