能详细说明吗?
char是ANSI的,CString 是UNICODE的,那怎么转换呢?
比如:
char sz1[10] = "afanf";
CString str;
str.format("%s",sz1);char 是CHAR类的。
cstring 是TCHAR类的,那有关系吗?

解决方案 »

  1.   

    char是ANSI,
    CString并不一定是UNICODE,要看程序中UNICODE(或_UNICODE)有没有被定义!
    LPSTR是指向char的指针
    LPCTSTR有可能是指向char的指针,有可能是指向wchar的指针,关键也要看程序中UNICODE(或_UNICODE)有没有被定义!具体的请多看MSDN,这些基础的东西MSDN上讲得很清楚!
      

  2.   

    本想说两句,可感觉自己还是没有MSDN权威嘿嘿嘿
      

  3.   

    是的,但是对Unicode专程Ansi我就不会了
      

  4.   

    看MSDN不如直接看CString的源码。
      

  5.   

    我觉得CString要比CHAR大得多。CHAR类型的数据可以讲就只是一点用于存储字符的空间,而CString却是一个类,CString类的对象不仅有自己的成员变量(一个字符串),还有自己的成员方法,如FORMAT()等
      

  6.   

    LPCSTR const char * 指向字符串常量的32位指针
    LPSTR char *          指向字符串的32位指针
    LPCTSTR const char * 指向可移植为Unicode和DBCS字符串常量的32位指针
    LPTSTR char *          指向可移植为Unicode和DBCS字符串的32位指针最好是查MSDN
      

  7.   

    char sz1[10] = "afanf";
    CString str;
    #ifdef _UNICODE
    str.format("%S",sz1);
    #else
    str.format("%s",sz1);
    #endif