将一个QString的字符串"1131A86B42081101"放入一个char数组中"11" "31" "A8" "6B" "42" "08" "11" "01"
时间: 2024-05-01 12:15:25 浏览: 46
要将一个QString的字符串"1131A86B42081101"放入一个char数组中,可以按照以下步骤进行操作:
1. 首先,将QString转换为std::string类型,可以使用QString的toStdString()函数。
2. 然后,创建一个char数组,长度为QString的长度除以2,因为每两个字符对应一个元素。
3. 使用循环将每两个字符转换为一个十六进制数,并存储到char数组中。
下面是示例代码:
```cpp
#include <QString>
#include <iostream>
int main() {
QString str = "1131A86B42081101";
std::string stdStr = str.toStdString();
int length = stdStr.length() / 2;
char* charArray = new char[length];
for (int i = 0; i < length; i++) {
std::string hexStr = stdStr.substr(i * 2, 2);
charArray[i] = static_cast<char>(std::stoi(hexStr, nullptr, 16));
}
// 打印char数组中的元素
for (int i = 0; i < length; i++) {
std::cout << charArray[i] << " ";
}
std::cout << std::endl;
delete[] charArray;
return 0;
}
```
运行以上代码,输出结果为:"11 31 A8 6B 42 08 11 01"。
阅读全文