gpt4 book ai didi

c++ - 我怎样才能以一种简单易行的方式定义这个值?

转载 作者:行者123 更新时间:2023-11-28 07:57:36 25 4
gpt4 key购买 nike

我被困在函数参数的转换/定义中,非常感谢您的帮助。我相信对于任何有经验的 c/c++ 人来说这都是一个简单的问题,但对我来说不是,现在不是。

问题:

创建与 myCommmand(uint8 *pAddr) 一起使用的正确参数, 这将执行 send(pAddr, 6) ,它将使用这些参数循环以下 6 次:

write(reinterpret_cast<unsigned char*>(pAddr)[i]);

我的问题是,pAddr 必须指向 6 个字节的数组,我最希望将其定义为无符号字节值 (0-255) 或十六进制 00-FF。

限制

功能不得更改。这只是关于创建参数。

我的尝试:

uint8 Addr[] = {00,22,122,205,16,04};
uint8 *pAddr = &Addr;

但这会导致错误 C2440(无法将 uint(*)[6] 转换为 uint8 *)。

所需的解决方案

我想知道一种好的、格式良好的方法来创建此 Addr 数组或流,或传递给我的函数的对象,方法是将它们的字节或十六进制值写入我的代码 - 比如在我的尝试中。我可以使用 boost 库。感谢所有帮助我解决这个问题的人!

最佳答案

你试过吗

uint8 Addr[] = {0x0,0x16,0x7a,0xcd,0x10,0x4};
uint8 *pAddr = Addr;

?

注意:不要使用 0 前缀!这意味着数字是八进制的,所以 010 表示 8 in dec.

关于c++ - 我怎样才能以一种简单易行的方式定义这个值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12349001/

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