目录
一.strcpy函数
原型声明
char *strcpy(char* dest, const char *src);
功能
把从src地址开始且含有NULL结束符的字符串复制到以dest开始的地址空间,也就是把含有转义字符'\0'即空字符作为结束符,把这之前的内容复制到dest中。
说明
src和dest所指内存区域不可以重叠目dest必须有足够的空间来容纳src的字符串。如果目标数组dest 不够大,而源字符串的长度又太长,可能会造成缓冲溢出的情况。头文件:#include <string.h>和#include <stdio.h>
代码及运行结果
#include<stdio.h>
#include<string.h>
int main()
{
char arr1[]="############";
char arr2[]="hello world!";
printf("arr1: %s\n",arr1);
strcpy(arr1,arr2);
printf("把arr2中的内容赋值到arr1中去,arr1:%s",arr1);
return 0;
}
结果是:
二.自己编写strcpy函数
代码一及运行结果
写一个while循环,只要src没有达到‘\0’,就一直把src的内容赋值给dest,然后不断++操作就可以了
#include<stdio.h>
#include<string.h>
void my_strcpy(char* dest,char* src)
{
while(*src!='\0')
{
*dest=*src;
dest++;
src++;
}
*dest=*src;//把'\0'也传过去
}
int main()
{
char arr1[]="##########