zoukankan      html  css  js  c++  java
  • LPSTR LPTSTR

    LPSTR = char*
    LPCSTR = const char*

    LPTSTR:
    如果定义了UNICODE宏,那么LPTSTR = wchar_t*否则LPTSTR = char*

    LPCTSTR:
    如果定义了UNICODE宏,那么LPCTSTR = const wchar_t*,否则LPCSTR = const char*

    告诉你方法,
    "LP"前缀是历史遗留的,在Win32下就是 P ,代表指针的含义。
    "C"代表const
    "T"的含义就是如果定义了UNICODE,它就是宽字符版本,否则就是Ansi版本。
    完整定义如下:

    //Unicode 版本

    typedef wchar_t WCHAR;
    typedef WCHAR *PWCHAR;
    typedef WCHAR *LPWCH, *PWCH;
    typedef CONST WCHAR *LPCWCH, *PCWCH;
    typedef WCHAR *NWPSTR;
    typedef WCHAR *LPWSTR, *PWSTR;
    typedef WCHAR UNALIGNED *LPUWSTR, *PUWSTR;

    typedef CONST WCHAR *LPCWSTR, *PCWSTR;
    typedef CONST WCHAR UNALIGNED *LPCUWSTR, *PCUWSTR;

    // Ansi版本

    typedef CHAR *PCHAR;
    typedef CHAR *LPCH, *PCH;

    typedef CONST CHAR *LPCCH, *PCCH;
    typedef CHAR *NPSTR;
    typedef CHAR *LPSTR, *PSTR;
    typedef CONST CHAR *LPCSTR, *PCSTR;

    #ifdef UNICODE
    typedef WCHAR TCHAR, *PTCHAR;
    typedef WCHAR TBYTE , *PTBYTE ;
    typedef LPWSTR LPTCH, PTCH;
    typedef LPWSTR PTSTR, LPTSTR;
    typedef LPCWSTR PCTSTR, LPCTSTR;
    typedef LPUWSTR PUTSTR, LPUTSTR;
    typedef LPCUWSTR PCUTSTR, LPCUTSTR;
    typedef LPWSTR LP;
    #else
    typedef char TCHAR, *PTCHAR;
    typedef unsigned char TBYTE , *PTBYTE ;
    typedef LPSTR LPTCH, PTCH;
    typedef LPSTR PTSTR, LPTSTR, PUTSTR, LPUTSTR;
    typedef LPCSTR PCTSTR, LPCTSTR, PCUTSTR, LPCUTSTR;
    #endif

  • 相关阅读:
    van Emda Boas
    斐波那契堆
    NTT
    FFT
    KDTree
    扩展kmp
    kmp
    Dancing Links
    树的prufer编码
    有向图最小路径覆盖
  • 原文地址:https://www.cnblogs.com/wllwqdeai/p/10290032.html
Copyright © 2011-2022 走看看