【发布时间】:2014-10-09 03:22:21
【问题描述】:
我正在寻找可以读取长十六进制字符串(例如 SHA256 哈希)并将其转换为无符号字符数组的 C++ 库函数或内置函数。我尝试为此使用 stringstream,但无济于事。
例如-
bool StringToHex(std::string inStr, unsigned char *outStr);
Input - inStr = "5a12b43d3121e3018bb12037" //48 bytes
Output- outStr* = {0x5a, 0x12, 0xb4, 0x3d, 0x31, 0x21, 0xe3, 0x01, 0x8b, 0xb1, 0x20, 0x37} //24 bytes
【问题讨论】:
-
为什么不将
outStr设为std::ostream &而不是unsigned char *?然后你可以传入一个std::ostringstream,这比使用指针更安全。
标签: c++ hex stringstream unsigned-char