当前位置:  技术问答>linux和unix

用malloc分配内存后,用memcpy将字符串复制进去

    来源: 互联网  发布时间:2017-03-19

    本文导语:  如题,用malloc 分配内存后,用memcpy 将字符串复制进去。若用字符数组指明长度就不会错。而用malloc则提示“Segmentation   Fault   -   core   dumped”(在ubuntu中运行) #include"memory.h" #include"stdio.h" #include"string.h" ch...

如题,用malloc 分配内存后,用memcpy 将字符串复制进去。若用字符数组指明长度就不会错。而用malloc则提示“Segmentation   Fault   -   core   dumped”(在ubuntu中运行)

#include"memory.h"
#include"stdio.h"
#include"string.h"

char d[30];
memcpy(d,s,sizeof(s)+1);
sprintf("%s",d);

return 0;
}*/

int main()
{char *s="asdgsadggh";
//char d[30];   用字符数组就不会错
char *d=(char*)malloc(sizeof(char)*(1+strlen(s)));
memcpy(d,s,strlen(s)+1);
printf("%s",d);
return 0;

}

请高手指点!谢谢!

|
注意开辟空间的大小和要拷贝的字符串大小
如果你要往一个只开辟了15个字节的空间里拷贝16个字符,就会报错的

|
char d[30];
memcpy(d,s,sizeof(s)+1);
sprintf("%s",d);

sizeof(s)是一个指针的大小,是4字节。

|
可以正常运行啊,没有报错

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • linux c malloc函数定义及用法详解
  • sqlserver iis7站长之家
  • c/c++中的内存分配 malloc 和 new介绍及相互之间的区别
  • glibc源码中malloc函数在哪里实现的?
  • malloc函数详解及用法举例
  • 关于malloc的问题
  • linux 下可否管理malloc创建的内存?
  • malloc函数的问题
  • malloc和realloc的区别
  • free 和malloc的问题
  • 问个malloc函数的问题
  • malloc fail時的作法
  • 数组和malloc问题求助
  • malloc问题
  • AIX机器上遇到的malloc问题
  • log-malloc2
  • 程序调用malloc,引发segmention error,怎么会这样??????????
  • 求救一个关于malloc的问题,
  • 请教》 关于UNIX系统中 malloc 调用的严重问题。 求救。
  • mmap和malloc的区别是什么?
  • 在驱动程序里,用数组,或malloc是申请到虚拟内存吧?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3