没有得到我的字符串打印输出的ASCII码= 7

时间:2019-01-28 15:28:22

标签: c++

我的4字节数据包含ASCII十进制数7,0,0,0,如下所示。 地址[20]上的数据 { id, id_str, name, screen_name, location, description,sometimes we make up facts about animals lol #fakenews', url, entities, { description, }, protected, followers_count, friends_count, listed_count, created_at, favourites_count, utc_offset, time_zone, geo_enabled, verified, statuses_count, lang, contributors_enabled, is_translator, is_translation_enabled, profile_background_color, profile_background_image_url, profile_background_image_url_https, profile_background_tile, profile_image_url, profile_image_url_https, profile_link_color, profile_sidebar_border_color, profile_sidebar_fill_color, profile_text_color, profile_use_background_image, has_extended_profile, default_profile, default_profile_image, following, follow_request_sent, notifications, translator_type, }

我不为什么我可以通过c[0][20] =7, c[0][21] =0, c[0][22] =0, c[0][23] =0得到任何输出。但是我可以用printf(" s= %s\t\n", s.c_str());得到输出7  获取所有4字节打印输出的正确方法是什么?

printf(" s= %d\t\n", (int)c[0][20]);

2 个答案:

答案 0 :(得分:1)

尝试。

for (size_t z = 0; z < 4; z++)
{
    printf("element %zu is %c\n", z, c[z]);
}

验证值是否符合您的想法。

ASCII 7是铃声字符,在打印时可能会发出某种音调。

See

答案 1 :(得分:0)

尝试:

printf(" s =");
for (int i = 0; i < 4; ++i)
{
    printf(" %d ", (int)c[0][20+i]);
}
printf("\n");