我已經閱讀了許多建議的問題,但仍無法找到答案。我知道緩衝區中的內容是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