我在界面上输入数字 300000  如何才能转换成0x00300000形式放到 char[4]中去? 急用 谢了

解决方案 »

  1.   

    spintf(aBuffer, "%4x", i);
    这样的?
      

  2.   

    sprintf(sBuffer, "%08x", i); 
      

  3.   

    楼主说的不太清楚,另外0x00300000能放进CHAR [4]中吗
      

  4.   

    是把界面上的阿拉伯数字300000 转成 00 30 00 00 四个字节放进char[4]中
      

  5.   

    sprintf(sBuffer,   "%08x",   i)
      

  6.   

    sprintf(sBuffer,"%08d", i)
    这样转换后 用memcpy(strID, sBuffer, 4) 后strID[4]变成  0030 后面没了 不是目标 00 03 00 00 
      

  7.   

    00   30   00   00这只有四个字节,应该是八个吧,所以STRID[4]就成了0030,而不是你说的00300000,你定义成八维数组吧,如果你这个数据要输出的话,就应该定义成九维的,最后一维用来存字符串标识'\0';#include<iostream>using namespace std;int main()
    {
    int i=300000;
    char sBuffer[9]={0},strID[9]={0};
    sprintf(sBuffer,"%08d",i);
    memcpy(strID,sBuffer,8);
    cout<<sBuffer<<endl<<strID<<endl;
    return 0;
    }