我有这个变量,
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
给出了写答案。 最佳答案
您正在打印两个数组的指针值,这是不同的。 memcmp()
正在比较那些数组的内容,而不是指针。
关于android - unsigned char打印正确的值,如memcmp,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35924284/