如何打印unsigned char数据?

时间:2016-11-28 08:45:07

标签: c

我正在学习C所以我有一点问题。

如何打印: this.state.idx

主要功能:

unsigned char *tlv_buffer = NULL;

(我看不到append_bertlv_data会发生什么)

应打印unsigned char *tlv_buffer = NULL; int size = 1; int len = 0; int result; tlv_buffer = BKS_MALLOC(size); result = append_bertlv_data(&tlv_buffer, &size, &len, 0xDF04, 2, "\x34\x56"); result = append_bertlv_data(&tlv_buffer, &size, &len, 0xDF81, 3, "ref"); BKS_TRACE("-------- success : %d --------- \n", result); BKS_TRACE("======== %u =======", &tlv_buffer); , 但它没有表现出来。

我的结果是3204447612

1 个答案:

答案 0 :(得分:0)

您可以使用以下内容:

for (int i = 0 ; i < strlen(tlv_buffer); i++)
    printf("%02x ",*(tlv_buffer + i));

它将以十六进制打印每个字节。

编辑:

使用空格分隔,如果需要特定长度字节,则指定长度而不是大小。最好是使用strlen。