【发布时间】:2019-08-10 07:38:10
【问题描述】:
我有一个 CLinux 设备,我需要转换一些数据。 输入类似于
char mytest[] = "020441010C0000003131203131203131313103";
我需要拥有
mytest2[] = {0x02,0x04,0x41,0x01,0x0C,0x00,0x00,0x00,0x31,0x31,0x20,0x31,0x31,0x20,0x31,0x31,0x31,0x31,0x03}
这是我尝试过的代码,但它无法编译,因为 sstream 不在设备操作系统上。 有人可以给我另一种转换数据的解决方案吗?
#include <iostream>
#include <sstream>
int main() {
std::string myStr = "1122AA010A";
std::stringstream ss;
int n;
for(int i = 0; i<myStr.length(); ) {
std::istringstream(myStr.substr(i,2))>>std::hex>>n;
ss<<(char)n;
i += 2;
}
std::string result = ss.str();
std::cout<<"\n"<<result<<"\n";
return 0;
}
【问题讨论】: