c++ - 在 C++ 中递增 16 字节 char 数组

标签 c++ c

我有一个数组

char msgID[16];

如何将其递增 1?我将高 8 字节和低 8 字节读入 2 个不同的 uint64_t 整数

uint64_t high, low;
memcpy(&low,  msgID, sizeof(uint64_t));
memcpy(&high, msgID + sizeof(uint64_t) , sizeof(uint64_t));

如果我这样做

low += 1;

我如何解释溢出?

感谢您提供的任何帮助。

最佳答案

其实很简单:

if(++low == 0)
    ++high;

关于c++ - 在 C++ 中递增 16 字节 char 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36073566/

相关文章:

python - Swig 类型映射中的临时变量生成

c - C语言用函数取值、求最大值、求最小值并显示

C++ - 写时复制基本实现

c++ - 更新返回 0 即使表中没有此 id

c++ - 在 Visual C++ Express 2010 中创建静态库

c - 我正在尝试构建一个 2*2 数组,但我的程序需要 5 个输入。为什么?

c++ - 什么时候static_casting ceil的结果会妥协?

c++ - 比特集比 bool 数组快吗?

c - 如何从C中显示的序列中确定奇数?

c - 了解 fprintf 语法