struct sfiledata_t
{
unsigned int attrib;
long time_create;
long time_access;
long time_write;
unsigned long size;
std::string name;
unsigned long objid;
unsigned long creater;
unsigned int attribex;
unsigned int version;
unsigned int maxsize;
};   //使用
BOOL CNormalDlg::OnInitDialog() 
{
CDialog::OnInitDialog();

// TODO: Add extra initialization here    struct sfiledata_t soap_file;
m_pSoap->GetFileInfo(m_szObjPath,&soap_file);
    GetDlgItem(IDC_STATIC_TYPE)->SetWindowText("文件夹");

//文件名
m_filename.Format("%s", soap_file.name);
UpdateData(FALSE);

//空间大小
CString tempstr;
tempstr = itoa(soap_file.size,tempstr.GetBuffer(0),10);
tempstr = tempstr + "  bytes";
GetDlgItem(IDC_STATIC_BYTE)->SetWindowText(tempstr);    //创建日期
CString temptime;
temptime = itoa(soap_file.time_create,temptime.GetBuffer(0),10);
GetDlgItem(IDC_STATIC_TIME)->SetWindowText(temptime); //属性设置
if(soap_file.attrib & _A_RDONLY)  //只读
        m_readonly.SetCheck(1);
if(soap_file.attrib & _A_HIDDEN ) //隐藏
        m_hide.SetCheck(2);
if(soap_file.attrib & _A_ARCH )   //归档
        m_archive.SetCheck(3);    return TRUE;  // return TRUE unless you set the focus to a control               // EXCEPTION: OCX Property Pages should return FALSE
}这样做为什么出错啊,文件名出错,大小和日期都不是想要的结果,为负值,请问该如何做呢?