gpt4 book ai didi

C++ 字节字符串转换为字节数据类型并计算字节数

转载 作者:行者123 更新时间:2023-11-30 18:58:56 24 4
gpt4 key购买 nike

正如标题所说,我尝试将 C++ 字节字符串转换为字节数据类型并计算字节数。我从文本框中获得的字符串将包含一系列单字节十六进制数字,但我需要将其作为字节发送。

char packet_data[200];
HWND hTextBox2 = GetDlgItem(TabOneDlg,IDC_EDIT3);

SendMessageA(hTextBox2, WM_GETTEXT, (WPARAM)200, (LPARAM)packet_data);

这就是我获取输入值的方式(我正在使用 win32 API - 非托管表单)

输入字符串示例(十六进制)

AA BB CC DD - 4 bytes !

简而言之,我想这样做:得到一个包含十六进制数字文本表示形式的字符串,我想将十六进制数字的每个文本表示形式转换为“正常”数字。

最佳答案

如果您确定十六进制数字由空格分隔(如问题所示),那么提取它们就是一个简单的问题。 C++ 中最简单的方法是使用 std::istringstream和普通输入运算符 >>:

std::istringstream istr(packet_data);
std::vector<uint8_t> data;

uint8_t i;
while (istr >> std::hex >> i)
data.push_back(i);

在上面的代码之后, vector data将拥有字符串中的所有数据。如果您需要例如通过套接字(或类似的)发送数据,您可以使用 std::vector::data获取指向数据的原始指针(如果 data 函数不存在,则使用 &data[0]),并且字节数可从 std::vector::size 获得。 .

关于C++ 字节字符串转换为字节数据类型并计算字节数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14417560/

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