我已经阅读了许多建议的问题,但仍无法找到答案。我知道缓冲区中的内容是NULL终止的char array
,我想将它复制到动态分配的char array
。但是,我一直在从strcpy
函数中获得分段错误。谢谢你的帮助。将char数组的一部分复制到c中的字符串中
void myFunction()
{
char buffer[200];
// buffer was filled by recvfrom correctly, and can be printed out with printf()
char *message = malloc(200);
strcpy(message, buffer[1]);
}
////////////////
好了,我试过strcpy(message, &buffer[1]); strcpy(message, buffer);
但没有工作!
杀青你的编译器的警告级别和**介意的警告!** – pmg 2011-05-31 22:51:10
的strcpy的'第二个参数()'也应该是'[常量]字符*',缓冲。它目前是缓冲区的第二项,一个'char'。 – 2011-05-31 22:51:27
所以应该是strcpy(message,&buffer [1])? – derrdji 2011-05-31 22:56:15