本文主要是介绍strcpy复制一个字符串,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
看似很简单的题目,其实有着很多陷阱
首先看一个错误的范例:
char *r;
strcpy(r,s);
strcat(r,t);
错误在于:r并未指定地址且未赋予内存空间
好了,该如何做呢
首先,肯定得考虑内存的分配 使用malloc 显式调用分配内存 则也得显式调用释放内存free
不多说了 上代码
char *r;
r=malloc(strlen(s)+strlen(t)+1);//+1主要是考虑之后连接时最后的一个‘\0'结束字符
if(!r)//当内存不足时 返回NULL
{
perror("malloc");
exit(1);
}
strcpy(r,s);
strcat(r,t);
//显式释放内存
free(r);
r = NULL;
这篇关于strcpy复制一个字符串的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!