【发布时间】:2014-05-14 23:41:22
【问题描述】:
让我们首先声明我有 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;
}
如何将第一个字节“转换”为 int?
【问题讨论】:
-
嗯?你在用
char吗?不是 unicode?span>
标签: c++ int byte bytearray cstring