问题标签 [tchar]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 在 C/C++(ms) 中将 char[] 转换为 tchar[] 的最简单方法是什么?
这似乎是一个漂亮的垒球问题,但我总是很难查找这个函数,因为关于 char 和 tchar 的引用似乎有很多变化。
c++ - 处理具有不同字符集的库的头文件中的 TCHAR
我有一个使用两个第三方库的项目,这两个库都在其头文件中使用了 TCHAR。不幸的是,一个库被编译为多字节(称为库 a),而另一个库被编译为 Unicode(称为库 b)。
现在我理解它的方式是 TCHAR 被预编译器替换为 wchar 或 char 取决于构建选项。因此,当编译库 a 时,任何采用 TCHAR 类型参数的方法都被设置为期望 char 类型的参数,而库 b 中的方法被设置为期望 wchar 类型的参数。
不幸的是,我的消费应用程序也必须选择一个字符集。如果我选择 Unicode,那么我为库 a 包含的头文件告诉我该方法需要一个 wchar,因为当我在头中编译 TCHAR 时,它们被解释为 wchar。这包括在结构内部定义的 TCHARS。我已经在实践中确认了这种行为,当我分配并传递一个 TCHAR 缓冲区时,我得到了垃圾,因为它用多字节数据填充了我的 wchar 缓冲区。
我的问题是:有没有一种干净的方法可以在同一个应用程序中使用这两个库?我在使用这些库的方式上可能做错了吗?
c++ - Linux 上的 tchar.h
我正在尝试编写跨平台 i18n C++ 代码。由于大多数 linux 系统更喜欢使用 UTF-8 作为字符编码,我认为我应该在 linux 上使用 string,在 Windows 上使用 wstring。tchar.h 在 Linux 上可用吗?Linux 上 tchar.h 的等效替代品是什么?
c++ - 如何为 TCHAR 数组赋值
我的 C++ 代码中有一个TCHAR
数组,我想为其分配静态字符串。
我通过
一切正常。但是,当我将它分成两行时
它出现错误并给出编译器错误:
错误 C2440:“=”:无法从“const char [14]”转换为“TCHAR [260]”
该TEXT()
功能不应该完全符合我的要求吗?将给定的字符串转换为TCHAR
s? 为什么将两条线放在一起时它会起作用?为了让它工作,我必须改变什么?
我遇到的其他一些令人困惑的事情:
我已经在互联网上搜索了它,并且看到还有_T()
and_TEXT()
和__T()
and __TEXT()
。它们是干什么用的?我应该在什么环境中使用它们中的哪一个?
c++ - 使用 C++ 可变长度参数时,如何从 _TCHAR * 转换为 char *?
我们需要将格式 _TCHAR * 字符串和一些 char * 字符串传递给具有可变长度参数的函数:
所以可以这样调用:
显然,一个简单的解决方法是使用 _TCHAR 而不是 char,但不幸的是我们没有这种奢侈。
我们需要将它与 va_start 等一起使用,以便我们可以格式化字符串:
不幸的是,我们不能使用它,因为它给了我们这个错误:
我在想我们需要将我们的 char * 转换为 _TCHAR * - 但是如何?
char - 我如何错误地使用 CA2W?
请有人解释为什么这不起作用?
请告诉我我应该做什么。
它没有给我相同的文字,而是给了我:
character-encoding - 将 TCHAR 数组转换为 char 数组
如何转换TCHAR[]
为char[]
?
c++ - 如何将 std::wstring 转换为 TCHAR*?
如何将 a 转换std::wstring
为 a TCHAR*
?std::wstring.c_str()
不起作用,因为它返回一个wchar_t*
.
我如何从wchar_t*
toTCHAR*
或从std::wstring
to 到达TCHAR*
?
c - 是否建议使用 strcmp 或 _tcscmp 比较 Unicode 版本中的字符串?
是否建议使用 strcmp 或 _tcscmp 比较 Unicode 版本中的字符串?
c++ - 如何将“指向 const TCHAR 的指针”转换为“std::string”?
我有一个类,它返回一个指向“const TCHAR”的类型化指针。我需要将它转换为 std::string 但我还没有找到一种方法来实现这一点。
谁能提供一些关于如何转换它的见解?