如何将char []转换为lpctstr

How to convert char[] to LPCTSTR?

本文关键字:转换 lpctstr char      更新时间:2023-10-16

我的函数写入Winapi函数CreateFile的参数LPCTSTR路径。如何将char[]转换为LPCTSTR并将其传递给FUNC?P.S.我已经看到了其他主题,没有任何有用的

LPCTSTRconst TCHAR*的宏。TCHAR将是charwchar_t(在Visual C 版本中的unsigned short),具体取决于是否定义了UNICODE。您有一些选择:

  1. 使用TCHAR[]代替char[]。您可以使用TEXTT宏来为字符串文字做到这一点。

  2. 不确定的UNICODE并在没有广泛角色支持的情况下构建项目。(相反,您可以将其定义并使用宽字符集而不是ANSI)。

  3. 进行从单个字节到多字节字符集的转换。您可以在此处找到有关字符集和转换功能的更多信息。

第四选项是使用CreateFileW(或CreateFileA取决于您的愿望)而不是CreateFile(将根据UNICODE预处理标志映射到前面提到的功能中的任何一个。

呼叫CreateFileA(明确要求窄字符版本),然后直接将char []传递给它,无需铸件。