我正在学习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
答案 0 :(得分:0)
您可以使用以下内容:
for (int i = 0 ; i < strlen(tlv_buffer); i++)
printf("%02x ",*(tlv_buffer + i));
它将以十六进制打印每个字节。
编辑:
使用空格分隔,如果需要特定长度字节,则指定长度而不是大小。最好是使用strlen。