HOME> 最新活动> C语言中strcpy()函数的使用详解

C语言中strcpy()函数的使用详解

1、strcpy函数的各个参数介绍

char* strcpy (char* destination,const char* source)

①函数名为strcpy

②返回值类型为char*,返回的是目标空间的起始地址

③函数的参数列表中有两个地址,第一个是目标空间的地址,第二个是源字符串的地址。

2、strcpy函数的作用

strcpy函数的作用就是将一个字符串拷贝一份,这两个字符串内容是相同的,在内存中也是有两份这个字符串。

3、strcpy函数的细节分析

①strcpy函数在拷贝的时候,将源字符串的‘\0’也拷贝到了目标空间

②目标空间的空间必须足够大,可以装得下拷贝的这个字符串。

③源字符串必须是以'\0'结尾的。

代码分析如下:

#include

#include

int main()

{

char ch1[] = "****************";

char ch2[] = "abcdef";

strcpy(ch1, ch2);

printf("%s\n",ch1);

return 0;

}

以上代码和数据监视图可证,strcmp函数拷贝时,会将源字符串的'\0'也拷贝到目标空间。

第②条,如果目标空间不足够大,编译器会报错误,这里就不作演示了,可以自行检验。

第③条,如果源字符串不是以'\0'结尾,这种情况可以建立字符数组,然后初值赋多个单个字符,然后将数组传递给strcpy函数,经过验证,程序虽然没有挂掉,但是程序也没有输出。代码如下,也可以自行验证。

#include

#include

int main()

{

char ch1[20];

char ch2[] = {'a','b','c'};

strcpy(ch1, ch2);

printf("%s\n",ch1);

return 0;

}

4、strcpy函数的模拟实现

char* my_strcpy(char* des, const char* sou)

{

char* p = des;

while (*p++ = *sou++);

return des;

}