gpt4 book ai didi

c++ - 将整数插入字符数组

转载 作者:搜寻专家 更新时间:2023-10-31 00:11:17 25 4
gpt4 key购买 nike

我有以下字符数组:

char* a = new char[6]{0};

二进制是:

00000000 00000000 00000000 00000000 00000000 00000000

我还有一个整数:

int i = 123984343;

二进制是:

00000111 01100011 11011001 11010111

我想将这个 4 字节整数 i 插入到字符数组 a 从位置 [1] 到位置 [4] 这样原始数组 a 就变成了:

00000000 00000111 01100011 11011001 11010111 00000000

最快最简单的方法是什么?

最佳答案

您可以按要求解决问题

    memcpy( &a[1], &i, sizeof(i) );

但我敢打赌这不是解决您问题的最佳方法。

    for (size_t ix = 0; ix < 4; ix++)
{
a[1+ix] = (static_cast<unsigned int>(i) >> (8*ix)) & 0xff;
}

是一种将适合四个字节的 int 序列化为字符数组的安全方法。这一端和另一端都不必做出不可移植的假设。

我不相信即使这是解决您的实际问题的最佳方法(但如果没有更多信息很难判断)。

关于c++ - 将整数插入字符数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34499721/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com