模拟strcpy

柔情痞子 提交于 2019-11-27 16:21:27

strcpy把从str2地址开始且含有NULL结束符的字符串复制到以str1开始的地址空间
原型 char *my_strcpy(char *str1, const char *str2);
注意:
1.src和dest所指内存区域不可以重叠且str1必须有足够的空间来容纳str2的字符串。
2.返回指向dest的指针。
3.str1要以’\0’结尾

#include<stdio.h>
#include<stdlib.h>
#include<assert.h>
char *my_strcpy(char *str1, const char *str2){
	char *cp = str1;
	assert(str1 != NULL&&str2 != NULL);
	while (*str2 != '\0'){
		*str1 = *str2;
		++str1;
		++str2;

	}
	*str1 = '\0';
	return cp;
}
int main(){
	char str1[20] = { 0 };
	char str2[] = "hello world";
	my_strcpy(str1, str2);
	printf("%s\n", str1);
	system("pause");
	return 0;
}
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!