请问关于格式化的有关问题

请教关于格式化的问题
各位高手好,小弟现在用MFC,有个编辑框供用户输入,假设其ID为IDC_EDIT1,关联一个整型变量m_data
然后定义一个临时数组 char temparray[4]='0';
  然后调用 itoa(m_data,temparray,16);//将用户输入的整数存为16进制字符

  然后调用Listbox的成员方法 mylistbox.AddString (temparray)//将数组中的字符串输出
  现在问题来了,如果用户输入12,那么显示结果肯定是'C',如果用户输入10000,结果为2710
  我就是想要四位都显示出来,换句话说第一种应该结果是000C,而不是单独的C;类似的还有怎么输出010E之类的
就是让0自动补全,请问该如何处理?
  是不是定义一个CString tempstr;
  然后调用 tempstr.Format();方法呢?
何如处理?




------解决方案--------------------
CString strtmp;
strtmp.Format("%04d",m_data);
mylistbox.AddString(strtmp);
------解决方案--------------------
看漏了,你要的是16进制
CString strtmp;
strtmp.Format("%04X",m_data);
mylistbox.AddString(strtmp);