免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: vdsvs
打印 上一主题 下一主题

怎么打印字符数组内容??? [复制链接]

论坛徽章:
0
11 [报告]
发表于 2011-05-27 11:08 |只看该作者
回复 8# testh
%c改成%d,因为有的asic字符是可见的,用%d可以把值打出来。而且你接收的数据也有格式的吧。

论坛徽章:
0
12 [报告]
发表于 2011-05-27 16:06 |只看该作者
除非你确定是可见字符组成的串才能体面的打印出来,否则那你还是当做hex打印吧
testh 发表于 2011-05-27 11:00



    谢谢!!  按照你的这格式可以打印出来了,

论坛徽章:
0
13 [报告]
发表于 2011-05-31 11:51 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
14 [报告]
发表于 2011-06-01 10:11 |只看该作者
语法没问题,应该是你赋给buf的内容都是不可见得东西。

论坛徽章:
0
15 [报告]
发表于 2011-06-01 23:51 |只看该作者
#!/bin/bash

b[0]=5
b[1]=6
b[2]=7
echo ${b[@]}

论坛徽章:
0
16 [报告]
发表于 2011-06-02 00:10 |只看该作者
#!/bin/bash
b[0]=5
b[1]=6
b[2]=7

echo ${b[@]}

论坛徽章:
0
17 [报告]
发表于 2011-06-10 00:09 |只看该作者
问题的关键就在于你的类型是UCHAR
UCHAR的用途跟BYTE是等价的
一般用于直接显示内存的值,不要用来显示字符串,所以应该用十六进制输出
printf("%.2x\t",A[i]);

论坛徽章:
0
18 [报告]
发表于 2011-06-14 18:23 |只看该作者
先打印出ascii码,看看到底是什么东西,再打原因。

论坛徽章:
0
19 [报告]
发表于 2011-06-14 21:33 |只看该作者
显然要十六进制dump。

论坛徽章:
0
20 [报告]
发表于 2011-06-18 23:38 |只看该作者
这个是经典在网络通信编程中用到的。打印的时候就用printf("%02x",unChar[i]);
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP