В приведенном ниже коде, когда «данные» печатаются с:
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», чтобы данные могли хранить правильные данные 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);