【CC++】C语言复制字符串及复制函数汇总(strcpy()memcpy()strncpy()memmove())

本文详细介绍了C语言中的四个字符串复制函数:strcpy()、memcpy()、strncpy()和memmove()。通过举例说明了它们的使用方法、参数解释和注意事项,特别强调了各个函数在处理内存重叠时的行为差异。
摘要由CSDN通过智能技术生成

目录:

我们首先来考虑一个简单的问题,我们定义了一个字符串,然后想要复制这个字符串,在C语言中,我们可以for循环指针实现,假如我们用指针来操作

#include <stdio.h>

char  str1[20]= "Zxiaoxuan";
char  str2[20];
char * pts1 = str1 ;
char * pts2 = str2;

int main () {
	pts2=pts1;
	return  0;
}

这样pts2只是复制字符串str1的地址,而不是复制整个字符串。

那么如何进行整个字符串的复制呢

  1. 我们可以采用数组的方式来进行

    #include<stdio.h>

    void copy_string(char str1[],char str2[]) {
    int i = 0;
    while(str2[i] != ‘’) {
    str1[i] = str2[i];
    i++;
    }
    str1[i] = ‘’;
    }

    int main() {
    char a[100]=“zxiaoxuan”;
    char b[100]=" ";

    copy_string(b,a);
    printf("%s
    

    ",b);
    return 0;
    }

输出:
在这里插入图片描述
2. 可以采用指针的方式来进行

#include<stdio.h>

void copy_string(char *p1,char *p2) {
	while(*p2 != '') {
		*p1 = *p2;
		*p1++;
		*p2++;
	}
	*p1 = '';
}
int main() {
	char a[100]="zxiaoxuan";
	char b[100]=" ";

	copy_string(b,a);
	printf("%s
",b);
	return 0;
}
</
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值