gpt4 book ai didi

c - winnt.h 中的 Mingw32 中未定义 LPCTSTR 到 LPWSTR 的转换

转载 作者:行者123 更新时间:2023-11-30 14:24:17 24 4
gpt4 key购买 nike

我使用的是 mingw32,我无法找到 LPCTSTR 到 LPCWSTR 的类型定义。但 mingw64 中的定义相同,如下所示。

typedef LPCWSTR PCTSTR,LPCTSTR;

但是我的代码在 mingw32 中工作正常,即使我在代码中添加了 LPCTSTR 也没有任何错误,如果我将编译器选项更改为 mingw64,我会收到很多错误.

mingw32 中的 Winnt.h:

typedef TCHAR TBYTE,*PTCH,*PTBYTE;
typedef TCHAR *LPTCH,*PTSTR,*LPTSTR,*LP,*PTCHAR;
typedef const TCHAR *LPCTSTR;

mingw64 中的 winnt.h:

typedef LPWSTR LPTCH,PTCH;
typedef LPWSTR PTSTR,LPTSTR;
typedef LPCWSTR PCTSTR,LPCTSTR;
typedef LPUWSTR PUTSTR,LPUTSTR;
typedef LPCUWSTR PCUTSTR,LPCUTSTR;
typedef LPWSTR LP;

如何解决这个问题?为什么我在定义了 UNICODE 的 mingw32 中没有收到任何错误?

最佳答案

LPCTSTR 在 mingw32 中定义为:

typedef const TCHAR *LPCTSTR;

定义 UNICODE 时,TCHAR 映射到 WCHAR,使 LPCTSTR 等同于 LPCWSTR.

当未定义 UNICODE 时,TCHAR 会映射到 CHAR,从而使 LPCTSTR 等同于 LPCSTR

关于c - winnt.h 中的 Mingw32 中未定义 LPCTSTR 到 LPWSTR 的转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11989048/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com