gpt4 book ai didi

c - 什么是 LPTSTR 和 LPCSTR 的 Linux 等价物?

转载 作者:IT王子 更新时间:2023-10-29 00:45:33 26 4
gpt4 key购买 nike

我正在将 Windows 库转换为 Linux。我需要在 linux 中找到 LPTSTR 和 LPCSTR。

我知道我可以使用 wchar_t 可以使用,但我不确定是否使用它。

其中一种使用LPTSTR的方法如下:

void ErrorExit(LPTSTR zFunction)
{
}

任何帮助将不胜感激!

最佳答案

在 Linux 中,您通常不会将 wchar_t 用于库 API 函数。大多数库使用 UTF-8 编码的字符串,因此它们将以 NUL 结尾的字符的普通数组作为字符串(IMO 这比使用 ANSI 和 Unicode 版本复制所有函数要好得多)。

所以,考虑到这一点:

  • LPCTSTR, LPCSTR, LPCWSTR -> const char *.
  • LPTSTR, LPSTR, LPWSTR -> char *.

如果你坚持使用 Unicode 函数,MS 风格,你必须知道它们实际上使用 UTF-16 编码的字符串,并且 wchar_t 不是可移植类型,因为它的大小没有指定通过语言。相反,您可以使用 uint16_t:

  • LPCWSTR -> const uint16_t *
  • LPWSTR -> uint16_t *

如果你想要额外的 MS 兼容,你可以使用 UNICODE 宏有条件地将 LPTSTRLPTCSTR 类型定义为其中之一其他的,但这可能不需要解决您的问题。

关于c - 什么是 LPTSTR 和 LPCSTR 的 Linux 等价物?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21574670/

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