用C语言编写字符串的连接与拷贝

2025-06-27 18:41:23
推荐回答(4个)
回答1:

#include 

// 拷贝
void strcopy(char * str1, char * str2)
{
    while(*str2 != 0)
    {
        *str1 ++ = *str2++;
    }

    *str1 = '\0';
}

// 拼接
void strCatStr(char * str1, char * str2)
{

    while(*str1 != 0)
    {
        *str1 ++;
    }

    while(*str2 != 0)
    {
        *str1 ++ = *str2++;
    }

    *str1 = '\0';
}

int main()
{
    char str[100] = {0};
    char str2[50] = "abc";

    strcopy(str, str2);
    printf("str = %s\n", str);

    strCatStr(str, str2);

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

    return 0;
}

运行结果:

回答2:

1.strcpy函数:
字符串不能利用=来复制到字符数组中:如
char str1[10],str2[10];
str1=“abc”; 是错误的
str2=str1; 是错误的
但是可以用strcpy函数来复制:如
strcpy(str1,“abcd”);
strcpy(str2,str1);
2.strcat函数:
char *strcat(char *s1,const char *s2);
是指把字符串s2的内容追加到字符串s1的末尾,并且返回字符串s1(指向结果字符串的指针)。
如:strcpy(str1,“abc”);
strcat (str1,“def”); str1:abcdef

回答3:

strcpy函数字符串复制。 strcat函数字符串连接

回答4: