【发布时间】:2019-05-23 07:03:52
【问题描述】:
在下面的代码中,当“数据”打印时:
Display_printf(display, 0, 0, "score received: %.*s\n", ret, data);
json数据打印正确:
{"zip":97306,"score":130}
但是,当我这样做时:
Display_printf(display, 0, 0, "score received: %s\n", data);
json 数据包含额外的字符(有时是奇怪/未知的字符),如下所示:
{"zip":97306,"score":130}R
为什么第二种打印方法显示多余的字符而第一种没有?如何修复它以使第二种打印方法起作用?做“%.*s”的等价代码是什么,让data可以存储正确的json数据?
do
{
ret = HTTPClient_readResponseBody(httpClientHandle, data, sizeof(data),
&moreDataFlag);
if(ret < 0)
{
printError("httpTask: response body processing failed", ret);
}
Display_printf(display, 0, 0, "%.*s \r\n",ret,data);
len += ret;
}
while(moreDataFlag);
【问题讨论】:
-
@Eric Postpischil 我不小心忘了把它放在帖子里。我现在已经更新了帖子。
标签: c