让我们假设我有一个字符串str它由缺省字符以十六进制(0-9,AF):转换为unsigned char []
string str="1234567890abcdef";
我也有一个空数组正的长度(N是已知的):
unsigned char arr[n]
我想要做的是填补我阵列ARR与STR值,而是以特定的方式如下所示:
unsigned char arr[8] = {0x12U, 0x34U, 0x56U, 0x78U, 0x90U, 0xabU, 0xcdU, 0xefU};
由于它是字符串str被分成更小的十六进制字符。我怎样才能实现它?分离的算法很简单,但我不知道如何将字符串更改为无符号字符,以及如何在字符的开始处添加0x和字符的末尾。
你试图在这里达到什么样的最终结果?这是一个库的接口吗? – 2011-03-25 16:06:09
我对你想“在开始时加上0x”的陈述感到困惑。你是否试图在运行时从'str'填充'arr []',或者在源代码中将一个表单转换为另一个表单? – Andy 2011-03-25 16:07:04
可能的重复[从std :: string存储十六进制值,并且反之亦然?](http://stackoverflow.com/questions/4843369/storing-hexadecimal-values-from-a-stdstring- in-a-stdvector-and-vise-versa) – 2011-03-25 16:09:13