十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
C语言标准库函数strcpy功能和格式:
创新互联建站主要从事网站设计制作、做网站、网页设计、企业做网站、公司建网站等业务。立足成都服务海伦,十载网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18980820575
功能:strcpy是一种C语言的标准库函数,用于把一个字符串复制到另一个字符串。
格式:char *strcpy(char *dest, const char *src)
参数:dest是目标字符串的指针,src是源字符串的指针。
返回值:返回dest的指针。
注意事项:必须保证dest有足够的空间存放src的内容,否则可能会造成缓冲区溢出的错误
/*字符串复制的函数和调用*/
#include
"stdio.h"
char
string(char
a[],char
b[])
//定义复制的字符串
{
int
i;
//计数
for(i=0;a[i-1]!='\0';i++)
//复制
{
b[i]
=
a[i];
}
}
int
main
(void)
{
char
a[]="12345asfd";
//字符串
char
b[100];
string(a,b);
//把a的字符串复制到b
printf("%s\n",b);//打印字符串
}
首先是使用库函数
比如下面代码
void ourStrCopy(char S1[] , char S2[]){ strcpy(S1, S2); //该函数还有另一个版本可以按长度截取 }
还有一个函数是memcpy,这个是内存拷贝,原型是
void memcpy(void *dest, const void *src, size_t n); 需要注意的是这个函数第一个和第二个指针都是void型且第二个指针不能被修改,第三个参数是需要拷贝的内存长度按字节记。
然后是用指针引用,注意这个并非赋值,而是引用,这种操作需要注意内存。
char s1[] = "abcdefg";//定义一组字符串char *s2 = s1;//按照指针拷贝字符串
第三种方法就是直接赋值了
void outStrCopy(char s1[] , char s2[]){ int len1 = strlen(s1);//获取第一个字符串的长度 int len2 = strlen(s2);//获取第二个字符串的长度 int len = 0; //字符串总长度 if(len1 = len2){ len = len2; //选择COPY的长度 }else{ len = len1; } for(int i = 0 ; i len ; i++){ s1[i] = s2[i]; //实现数据拷贝 }}