LPCTSTR 是什么呢?
好像很菜的问题,请各位指教。

解决方案 »

  1.   

    根据不同的宏可能不同总体上是
    const char *
    也可能是
    const wchar_t *
      

  2.   

    #if _unicode
    #define TCHAR wchar_t
    #else
    #define TCHAR char
    #endiftypedef LPTSTR TCHAR*
    typedef LPCTSTR const TCHAR*这一段说得非常清楚,贴出来
      

  3.   

    const char * 你可以查找他的定义处
      

  4.   

    不是const char * 就是char *,差不多
      

  5.   

    WINNT.H的前面包含C的表头档案CTYPE.H,这是C的众多表头档案之一,包括wchar_t的定义。WINNT.H定义了新的资料型态,称作CHAR和WCHAR:typedef char CHAR ;
    typedef wchar_t WCHAR ; // wc
    当您需要定义8位元字元或者16位元字元时,推荐您在Windows程式中使用的资料型态是CHAR和WCHAR。WCHAR定义後面的注释是匈牙利标记法的建议:一个基於WCHAR资料型态的变数可在前面附加上字母wc以说明一个宽字元。WINNT.H表头档案进而定义了可用做8位元字串指标的六种资料型态和四个可用做const 8位元字串指标的资料型态。这里精选了表头档案中一些实用的说明资料型态语句:typedef CHAR * PCHAR, * LPCH, * PCH, * NPSTR, * LPSTR, * PSTR ;
    typedef CONST CHAR * LPCCH, * PCCH, * LPCSTR, * PCSTR ;
    字首N和L表示「near」和「long」,指的是16位元Windows中两种大小不同的指标。在Win32中near和long指标没有区别。类似地,WINNT.H定义了六种可作为16位元字串指标的资料型态和四种可作为const 16位元字串指标的资料型态:typedef WCHAR * PWCHAR, * LPWCH, * PWCH, * NWPSTR, * LPWSTR, * PWSTR ;
    typedef CONST WCHAR * LPCWCH, * PCWCH, * LPCWSTR, * PCWSTR ;
    至此,我们有了资料型态CHAR(一个8位的char)和WCHAR(一个16位的wchar_t),以及指向CHAR和WCHAR的指标。与TCHAR.H一样,WINNT.H将TCHAR定义为一般的字元类型。如果定义了识别字UNICODE(没有底线),则TCHAR和指向TCHAR的指标就分别定义为WCHAR和指向WCHAR的指标;如果没有定义识别字UNICODE,则TCHAR和指向TCHAR的指标就分别定义为char和指向char的指标:#ifdef  UNICODE                   
    typedef WCHAR TCHAR, * PTCHAR ;
    typedef LPWSTR LPTCH, PTCH, PTSTR, LPTSTR ;
    typedef LPCWSTR LPCTSTR ;
    #else 
    typedef char TCHAR, * PTCHAR ;
    typedef LPSTR LPTCH, PTCH, PTSTR, LPTSTR ;
    typedef LPCSTR LPCTSTR ;
    #endif