C++ 将字符串转换为字节(无符号字符)数组cpp
在这个简单的问题上遇到了真正的麻烦。 我有这样一个字符串:C++ 将字符串转换为字节(无符号字符)数组cpp,c++,hex,C++,Hex,在这个简单的问题上遇到了真正的麻烦。 我有这样一个字符串: std::string msg = "00 00 00 00 00 06 01 05 00 FF 00 00"; std::istringstream buffer(msg); std::vector<unsigned char> bbuffer; unsigned int ch; while (buffer >> std::hex >> ch) bbuffer.push_back(ch
std::string msg = "00 00 00 00 00 06 01 05 00 FF 00 00";
std::istringstream buffer(msg);
std::vector<unsigned char> bbuffer;
unsigned int ch;
while (buffer >> std::hex >> ch)
bbuffer.push_back(ch);
我想:
unsigned char bbuffer[12] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x01, 0x05, 0x00, 0xFF, 0x00, 0x00 };
怎么做 如果可能的话,我建议使用std::vector而不是实际的数组 用这个,我想我会做这样的事情:
std::string msg = "00 00 00 00 00 06 01 05 00 FF 00 00";
std::istringstream buffer(msg);
std::vector<unsigned char> bbuffer;
unsigned int ch;
while (buffer >> std::hex >> ch)
bbuffer.push_back(ch);
但是向量通常更可取。如果可能的话,我建议使用std::vector而不是实际的数组 用这个,我想我会做这样的事情:
std::string msg = "00 00 00 00 00 06 01 05 00 FF 00 00";
std::istringstream buffer(msg);
std::vector<unsigned char> bbuffer;
unsigned int ch;
while (buffer >> std::hex >> ch)
bbuffer.push_back(ch);
但是向量通常更可取。我离得太近了!下次我会找到你;太好了。不管怎样,我在内部使用vector,我离得太近了!下次我会找到你;太好了。我在内部使用vector