我正在Contiki OS中开发一个程序。尝试将函数的输入复制到char数组,然后将动态char数组连接到另一个。目标返回NULL值。这是生成 log 值的代码,它是 makerequest 函数的输入:
char *log;
log = (char *)malloc(400);
if(uip_newdata()) {
strncat(log, (char *)uip_appdata ,uip_datalen());
}
makerequest(log);
并在 makerequest 函数中尝试将 req 值连接到 rcvReq :
static char * rcvReq;
void makerequest(char * log){
rcvReq = (char*)malloc(300);
char * req;
req = (char*)malloc(200);
memset(req, 0, sizeof(req));
strcpy(req, log);
...
if(rcvReq != NULL){
strncat(rcvReq, req, strlen(req));
}
else{
strncpy(rcvReq, req, strlen(req));
}
}
req 是一个临时数组,用于存储 log 值。我希望将 req 值复制到 rcvReq ,但是 rcvReq 的值为NULL。如果您告诉我如何解决该问题,我将不胜感激。