我有这个变量,
unsigned char identifier1[12];
当我使用此标识符时,会强制转换为
const uint8_t*
喜欢
const uint8_t* getIdentifier() {return identifier1; }
我在一个函数中收到:
unsigned char *zid
我想比较它们,所以我使用这个 memcmp(identifier1, zid, 12);
答案是 0,所以两者相等......
但是当我打印值时:
__android_log_print(ANDROID_LOG_INFO, "MyTag", "%d %d",(int)identifier1,(int)zid);
我在两者中得到不同的值...例如1711428512 1652772888
,但是memcmp
给出了写入答案...我如何打印值以获得正确的值两者的值(value)?
最佳答案
您正在打印两个数组的指针值,这是不同的。 memcmp()
正在比较这些数组的内容而不是指针。
关于android - unsigned char 打印正确的值,如 memcmp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35924284/