gpt4 book ai didi

C++ 将字节值作为 int 添加到 CString

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:23:16 25 4
gpt4 key购买 nike

让我们先声明我有 0 xp 的 C++。

我有一个字节数组,里面装满了数据。

例子:

byte 0: 1
byte 1: 75
byte 2: 125
byte 3: 66
byte 4: 114
byte 5: 97
byte 6: 109

我在 C++ 中有一个 CString,它应该获取所有字节。但是字节 0-2 应该是 int 字节,字节 3-6 应该是 ASCII 字符。

当我读取字节并将它们放入 CString 时,将显示以下内容:

"K}Bram"

只有“Bram”部分是正确的。输出应该是:

"175125Bram"

我在字节数组的索引上有一个开关,所以我可以控制字节。对于字节 0-2,我使用以下代码:

receiveStr += "" + (int)buffer[i]);

对于字节 3-6 我使用以下代码:

if ((buffer[i] >= 0x20 && buffer[i] <= 0x7E) || (buffer[i] == '\r') || (buffer[i] == '\n') || (buffer[i] == '\t'))
{
receiveStr += buffer[i];
}
else
{
// Display the invalid character placeholder (square)
receiveStr += (char)0x7F;
}

如何将第一个字节“转换”为整数?

最佳答案

调用“convert to int”是什么意思?它在输出中应该是什么样子?您的前 3 个字节已存储为 int 值,但其表示形式仍然是 ascii 字符。

如果它意味着像“175125Bram”这样的字符串,那么解决方案应该是这样的

#include <sstream>

stringstream ss;
ss << buffer[0] << buffer[1] << buffer[2];
receiveStr += ss.str();

关于C++ 将字节值作为 int 添加到 CString,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22832642/

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