天天看点

C语言字符串长度和字符串复制实现

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

//字符串的长度
int mystrlen(const char* str)
{
    if (str == NULL)
        return -;
    int len = ;
    while (*str++ != '\0')
    {
        len++;
    }

    return len;
}

//从strSrc复制到strDest
//其中strDest长度要大于strSrc的长度
char* mystrcpy(char* strDest, const char* strSrc)
{
    if (strDest == NULL || strSrc == NULL)
        return NULL;
    if (strDest == strSrc)
        return strDest;
    char* tmp = strDest;
    while ((*strDest++ = *strSrc++) != '\0');

    return tmp;
}

int main()
{
    char* q = "abcdefg";
    //strcpy_s(q,sizeof("123456"), "123456");
    printf("%d\n", mystrlen(q));
    printf("%d\n", strlen(q));

    //printf("%s\n", q);

    return ;
}
           

继续阅读