现在我获得了机器码字符串,如BAEBFBFB0001090B0000000000000000
我想把这个字符串每四个字节提取出来给一个unsigned int类型数组变量
应该怎么做呢?
我不想通过把机器码先存储在一个文件里,再用fread类的函数读取文本文件,因为我想把机器码字符串信息隐藏。有没有直接可以从字符串提取前4位给unsigned int变量的方法呢?

解决方案 »

  1.   

    MFC可以用 CString.GetAtchar *的话可直接循环获取赋值了。
      

  2.   

    我不是想把一个字符赋值给unsigned int。而是四个字符一组赋值给unsigned int。
    比如说BAEBFBFB0001090B0000000000000000中的“BAEB”赋值给unsigned int,应该怎么操作呢?
      

  3.   

    include <stdio.h>
    #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;
    }