这个到底是哪个命名空间的呢???
怎么使用呢?

解决方案 »

  1.   

    #ifdef  UNICODE                     // r_winnt#ifndef _TCHAR_DEFINED
    typedef WCHAR TCHAR, *PTCHAR;
    typedef WCHAR TBYTE , *PTBYTE ;
    #define _TCHAR_DEFINED
    #endif /* !_TCHAR_DEFINED */typedef LPWSTR LPTCH, PTCH;
    typedef LPWSTR PTSTR, LPTSTR;
    typedef LPCWSTR LPCTSTR;
    typedef LPWSTR LP;
    #define __TEXT(quote) L##quote      // r_winnt#else   /* UNICODE */               // r_winnt#ifndef _TCHAR_DEFINED
    typedef char TCHAR, *PTCHAR;
    typedef unsigned char TBYTE , *PTBYTE ;
    #define _TCHAR_DEFINED
    #endif /* !_TCHAR_DEFINED */typedef LPSTR LPTCH, PTCH;
    typedef LPSTR PTSTR, LPTSTR;
    typedef LPCSTR LPCTSTR;
    #define __TEXT(quote) quote         // r_winnt#endif /* UNICODE */                // r_winnt
      

  2.   

    首先char* 是指向ANSI字符数组的指针,其中每个字符占据8位(有效数据是除掉最高位的其他7位),这里保持了与传统的C,C++的兼容。 LP的含义是长指针(long pointer)。LPSTR是一个指向以‘\0’结尾的ANSI字符数组的指针,与char*可以互换使用,在win32中较多地使用LPSTR。而LPCSTR中增加的‘C’的含义是“CONSTANT”(常量),表明这种数据类型的实例不能被使用它的API函数改变,除此之外,它与LPSTR是等同的。
      

  3.   

    CString 和 LPCTSTR 可以说通用, 原因在于CString定义的自动类型转换
    CString 如何用LPCTSTR就如何用,只是LPCTSTR 是一个字符串指针而已,常见情况下,LPCTSTR 作为自定义函数中的字符串参数。(最好不要用CString )
      

  4.   

    这个是cstring自己实现的操作符.