首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我没有得到ASCII数字=7的字符串打印输出

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

Stack Overflow用户
提问于 2019-01-28 23:28:22
回答 2查看 59关注 0票数 0

我的4字节数据包含ASCII十进制数7,0,0,如下所示。地址20处的data c[0][20] =7, c[0][21] =0, c[0][22] =0, c[0][23] =0

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

代码语言:javascript
复制
    const char * c[3];       
    char cs[5];
    memcpy(cs, c[0] + 20, 4);
    string s (cs,4);
    printf(" s= %s\t\n", s.c_str());
    printf(" s= %d\t\n", (int)c[0][20]);
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-01-29 01:03:28

尝试:

代码语言:javascript
复制
printf(" s =");
for (int i = 0; i < 4; ++i)
{
    printf(" %d ", (int)c[0][20+i]);
}
printf("\n");
票数 0
EN

Stack Overflow用户

发布于 2019-01-28 23:38:45

试试看。

代码语言:javascript
复制
for (size_t z = 0; z < 4; z++)
{
    printf("element %zu is %c\n", z, c[z]);
}

以验证值是否为您所认为的值。

ASCII7是钟形字符,当您打印它时,它可能会产生某种音调。

See

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54405205

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档