gpt4 book ai didi

c++ - 如何填充用 uint8_t 填充的 char 数组

转载 作者:行者123 更新时间:2023-11-28 04:08:59 25 4
gpt4 key购买 nike

我想创建一个 char 数组并给出 8 位值。例如; buf[0] = 0000 0001;//1buf[1] = 0000 0010;//2 等等。

当我用断点观看时,我看到的 buf 是空的。在其他帖子中,人们给出的建议是“如果你想看到整数,就把(无符号)强制转换”,它只适用于 cout。

我只想用有序递增的数字填充一个 char 数组。 我使用了 int 但它是 4 个字节,相反我认为给 uint8_t 更适合用数字填充 char 数组。

char *buf = new char[5];

for (uint8_t i = 0; i < 5; i++)
{
buf[i] = i;
}

[编辑]这是我所看到的,我以这种方式更改了 loop int image

最佳答案

看起来你的调试器假设所有 char*指向 C 风格的字符串。自第一char它遇到的值为零,它标志着所述字符串的结尾。

大多数调试器允许您提供任意表达式进行评估。如果您使用转换提供它实际上是一个数组的信息,它可能会正确显示数组:

reinterpret_cast<char(*)[5]>(buf)

无论如何,你不应该使用new而是std::vector<char> ,另外调试器应该知道如何正确显示。

关于c++ - 如何填充用 uint8_t 填充的 char 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58218798/

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