用malloc分配内存后,用memcpy将字符串复制进去
如题,用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;
}
请高手指点!谢谢!
#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;
}
请高手指点!谢谢!
...全文
相关推荐
C语言中内存操作函数.docx
在提供的代码示例中,`splitstr`函数演示了如何使用malloc和memcpy来分配和复制内存。
最常见的50个CC面试题.docx
【面试题9】strcpy用于复制字符串,printf格式化输出多种类型的数据到控制台,memcpy则用于字节级别的内存复制,不限制操作对象类型,且不检查目标字符串长度,可能导致溢出。
C++编程思想.pdf
**memcpy函数**: - `memcpy()`是C++中用于内存块复制的函数,它可以将源内存区域的内容复制到目标内存区域。
C-C++语言程序设计笔试面试题.docx
**试题5 - 字符串循环右移**: 这是一道关于字符串操作的问题,需要创建一个新的缓冲区`tmp`来存储原始字符串的一部分,然后将剩余部分复制到原字符串开头。
C语言中内存操作函数.pdf
`memset()` 常用于初始化数组、结构体或字符串,确保内存区域的初始状态。4. **memcpy()** - `memcpy()` 函数用于复制内存区域。


