0

我在 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)"部分有问题,但我找不到。其他部分都很好。

4

0 回答 0