CString  sizelike = ""; 
GetDlgItem(IDC_LIKE)-> GetWindowText(sizelike);
char *temp_sizelike = (LPSTR)(LPCTSTR)sizelike;
size_like = atoi(temp_sizelike)/100;
单步调试,追不到temp_sizelike的值,size_like是全局变量,值为0求解啊。。

解决方案 »

  1.   

    工程是Unicode的话,要自己转化的。
      

  2.   

    CString是类好像不支持这种强类型的转换,你可以这样转换 
     char *temp_sizelike = sizelike.GetBuffer(sizelike.GetLength());
    sizelike.ReleaseBuffer();
      

  3.   

    CString::GetBuffer 
    LPTSTR GetBuffer( int nMinBufLength );
      

  4.   

    CString到未分配内存的char*不支持强制转换,推荐的方法是使用CString的GetBuffer()。 CString  sizelike = ""; 
    GetDlgItem(IDC_LIKE)-> GetWindowText(sizelike);
    char *temp_sizelike = sizelike.GetBuffer(0);
    sizelike.ReleaseBuffer();若是将CString转为未分配内存的const char*,可强转,如CString cstr("D:\\输出\\正确");
    const char* psz = (LPCTSTR)cstr;
      

  5.   

    请问如果releasebuffer了那char所指向的内存是不是有可能被别的内容覆盖