字符串 - 复制

/* 复制字符串 */
int copyString(char * /in/, char * /out/);

int main()
{
//函数的返回状态值
int ret = 0;
char * p1 = “123456”;
char p2[100]; //在栈区分配内存
//char * p2 = (char) malloc(100); //在堆区分配内存,下面要添加条件判断 内存是否分配成功

ret = copyString(p1, p2);
printf("%s", p2);
return ret;

}

/* 复制字符串 */
int copyString(char * from/in/, char * to/out/)
{
int ret = 0; //函数的返回状态值

//使用p1、p2接收形参的值(可以不用)
char * p1 = from;
char * p2 = to;

//判断传入的参数是否合法
if(NULL == from || NULL == to)
{
	ret = -1;	//可以设置为16进制数字,用来显示程序的错误码
	printf("function copyString() error, (NULL == from || NULL == to), error id:%d\n", ret);
	return ret;
}

/*  实现复制字符串的操作
 *	*p1 = *p2; 	//先将p2的值赋给p1
 *	p1++;	p2++;	//再把p1和p2的地址++
 *	由于使用的是while循环,所以在执行完最后一个 '\0'的赋值后才会判断循环条件是否有效
 *	所以字符串的赋值可以简化为以下的代码
*/
while(*p2++ = *p1++)
{
}

return ret;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值