现在我获得了机器码字符串,如BAEBFBFB0001090B0000000000000000
我想把这个字符串每四个字节提取出来给一个unsigned int类型数组变量
应该怎么做呢?
我不想通过把机器码先存储在一个文件里,再用fread类的函数读取文本文件,因为我想把机器码字符串信息隐藏。有没有直接可以从字符串提取前4位给unsigned int变量的方法呢?
我想把这个字符串每四个字节提取出来给一个unsigned int类型数组变量
应该怎么做呢?
我不想通过把机器码先存储在一个文件里,再用fread类的函数读取文本文件,因为我想把机器码字符串信息隐藏。有没有直接可以从字符串提取前4位给unsigned int变量的方法呢?
比如说BAEBFBFB0001090B0000000000000000中的“BAEB”赋值给unsigned int,应该怎么操作呢?
#include <stdlib.h>
#include <string.h>int main(void)
{ char *pstr = "BAEBFBFB0001090B0000000000000000";
char szhex[5];
unsigned int n;
int nLen = strlen(pstr); for ( ;nLen > 0; nLen -= 4,pstr += 4 )
{
strncpy(szhex,pstr,(nLen >= 4 ? 4 :nLen));
szhex[4]=0;
n = strtoul(szhex,NULL,16);
printf("%s-%u\n",szhex,n);
} return 0;
}