strcat callc之间截获的奇怪字符

时间:2013-05-02 05:56:23

标签: c char append strcat

我在CentOS6中使用C语言。

当我使用strcat时,它会在字符串之间放置奇怪的字符,例如

'H','P','@'。

不幸的是,我无法展示我的完整资源,因为它是公司财产。

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(变量)时。在"thumbnails:[here!{".

之间有一个奇怪的字符(我上面所说的)

我认为"strcat(json,innerjson)"部分存在一些问题,但我找不到它。 其他部分都很好。

0 个答案:

没有答案