Я занимаюсь разработкой программы для ОС Contiki. Я пытаюсь скопировать вход функции в массив символов и затем объединить динамический массив символов в другую.Пункт назначения возвращает значение 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.Буду очень признателен, если вы скажете мне, как я могу решить проблему.