android - unsigned char 打印正确的值,如 memcmp

标签 android c++ c android-ndk memcmp

我有这个变量,

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/

相关文章:

c# - Xamarin Android - BroadcastReceiver 问题 - 无法实例化接收器

android - 如何在等待 HttpResponse 时显示进度条?

c++ - 有没有人成功为 ARC 移植 SpeakHere?

c - 在 C 中读取和写入文件

java - 当应用程序位于 Android api 28(饼图)中的前台或后台时,单击通知 "launching activity"的附加信息为空

android - 如何在 Fragment 中启动 FragmentTransaction

c++ - 如何从类定义中省略私有(private)非虚拟方法?

c++ - 线程内队列的临界区

c - 如何修剪SSD磁盘上的 block ?

C警告函数调用中缺少哨兵