我在 CentOS6 中使用 C。
当我使用 strcat 时,它会在字符串之间放置奇怪的字符,例如
'生命值', '@'。
不幸的是,我无法展示我的完整来源,因为它是公司财产。
sprintf(tmp, "{\"vod\":{\"con_id\":\"%s\",\"thumbnails\":[", con_id);
strcpy(json,tmp);
char cmd[MAX];
char innerjson[MAX_JSON];
int thumb_idx;
for(thumb_idx = 0; thumb_idx < thumb_cnt; thumb_idx++){
pos_second += interval;
sprintf(tmp,"{\"thumb_idx\":\"%d\", \"thumb_image\": \"thumbnail_%d.jpg\", \"position_t\":\"%d\"}", thumb_idx, thumb_idx, pos_second);
if(thumb_idx != thumb_cnt-1)
{
strcat(tmp, ", ");
strcat(innerjson, tmp);
}else
strcat(innerjson,tmp);
}
strcat(json, innerjson);
strcat(json,"]}}\n");
每次我在 JSP 中打印 json(variable) 时。之间有一个奇怪的字符(我上面说的)"thumbnails:[here!{".
我认为这"strcat(json,innerjson)"
部分有问题,但我找不到。其他部分都很好。