ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

C语言模仿库函数strcpy

2022-07-04 22:31:49  阅读:158  来源: 互联网

标签:src dest c++ C语言 char ++ while strcpy 库函数


strcpy()模仿


int main(){
	char arr1[20] = "xxxxx";
	char arr2[] = "hello"
	my_strcpy(arr1,arr2);	//1,目标地址 2,源地址
        printf("打印arr1的结果是:%s",arr1);
        //结果是:hello
	return 0;
}

模仿代码如下:
void my_strcpy(char* dest,char* src){
	//V1版本,实现copy功能
	{
                //字符数组有个隐藏元素‘\0’,为字符串终止符
		while(*src != '\0'){
		*dest = *src;
		dest++;
		src++;
		}
                //最后一步将‘\0’也复制过去
		*dest = *src;
	}
        //V2
	{
		while(*src != '\0'){
		//改为后置++,执行计算后指针自动向后移动一位
		*dest++ = *src++;
		}
		*dest = *src;
	}
	//V3
	{
		//将赋值表达式放入条件
		//赋值也会有返回值(返回值就是右值),不为0即是true
		//最后为\0时,ascii码则为0,判断为false
		while(*dest++ = *src++){
			;
		}
		*dest = *src
	}
	//V4
	#include <assert.h>
        //在入参时,限制*src源数组为const
        //这一步可以保护你在编写代码时,将两参数写反了的情况
        //例如while里面变成(*src++ = *dest++)
        //此时*src为const修饰,不可被修改,代码将无法运行成功,idea中也无法编译通过
        void my_srtcpy(char* dest,const char* src)
	{	
		//限制入参不可为空
		assert((src != NULL) && (dest != NULL)); //断言,如果不符合条件即程序报错
		while(*dest++ = *src++){
			;
		}
		*dest = *src
	}

标签:src,dest,c++,C语言,char,++,while,strcpy,库函数
来源: https://www.cnblogs.com/smallChicken/p/16444703.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有