1。怎样将CString 类型的数据转换成TCHAR型的?(我用强制转换不行)
2。我定义两个长度的字符数组,给数组字符后发现长度大于2,如下代码
    char ret[2];
    ret[0]= 'a';
    ret[1]= ':';
    我调试进去发现ret = "H:烫烫烫烫烫<?",这是怎么回事?
3。LPTSTR,LPSTR,LPWSTR能跟CString类型相互转换吗?回答任意一点都有分

解决方案 »

  1.   

    1.CString a="lkasldfaj";
      TCHAR* kk=(TCHAR*)(LPCTSTR)a;
    2.ret[3]=NULL;
    3.可以
      用1法..
      

  2.   

    1.强制转换当然不行,CString是一个类结构,而TCHAR只是一个预定义的char类型或者UNICODE的宽字节类型。应该用CString.GetBuffer获取ascii串的指针进行操作
    2.添加ret[2] = '\0';
    3.前三个可直接赋给CString类型,反之则需要编程
      

  3.   

    http://www.csdn.net/Develop/Read_Article.asp?id=12365
      

  4.   

    CString a=_T("fjlsjdfklasjfl");
    TCHAR * kk=a.GetBuffer(a.GetLength());
      

  5.   

    1。怎样将CString 类型的数据转换成TCHAR型的?(我用强制转换不行)
    不用转换,凡是用TCHAR*的地方都可以直接用CString。
      

  6.   

    char ret[3];  //注意: 结束符也要空间!
        ret[0]= 'a';
        ret[1]= ':';
        ret[2] = '\0' ;