问题标签 [wchar-t]
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++ - 如何有效地将 BSTR 复制到 wchar_t[]?
我有一个 BSTR 对象,我想将其转换为复制到 wchar__t 对象。棘手的是 BSTR 对象的长度可能从几千字节到几百千字节不等。有没有一种有效的方法来复制数据?我知道我可以只声明一个 wchar_t 数组并始终分配它需要保存的最大可能数据。然而,这意味着为可能只需要几千字节的东西分配数百千字节的数据。有什么建议么?
c++ - C/C++ 的广泛执行
是否有(即用作路径和参数的wchar_t
版本)?在,我可以做,但是在,我被卡住了(即没有纯粹的等价物)。我正在尝试为我的程序添加支持(自动运行)。exec[lv][pe]
exec
wchar_t
wchar_t
Windows
CreateProcessW(process, cmdline)
*nix
POSIX
UTF-16
c++ - TCHAR 仍然相关吗?
我是 Windows 编程的新手,在阅读 Petzold 的书后,我想知道:
TCHAR
使用类型和_T()
函数来声明字符串是否仍然是一种好习惯,或者我是否应该只在新代码中使用wchar_t
和字符串?L""
我将只针对 Windows 2000 及更高版本,我的代码从一开始就是i18n 。
c++ - 如何在 Windows 的 wchar_t 和 GCC/Linux 之间进行转换(不一定以编程方式)?
假设我有这个 Windows wchar_t 字符串:
和
并希望将其(不一定以编程方式;这将是一次性的)转换为 GCC/Linux wchar_t 格式,即 UTF-32 AFAIK。我该怎么做?(一般的解释会很好,但基于这个具体案例的例子也会有帮助)
请不要将我引导到字符转换站点。我想从 L"\x(something)" 形式转换,而不是 "end character" 形式。
c++ - 我想将 std::string 转换为 const wchar_t *
有什么方法吗?我的电脑是AMD64。
当我使用:
VS2005 编译器说:
我该怎么做?
c++ - wchar_t 数据是否需要字节序转换?
在 C/C++ 中,如果一个多字节宽字符 (wchar_t) 值从大端系统传输到小端系统(或反之亦然),它会在另一端输出相同的值吗?还是需要交换字节?
c++ - C++ 中的可移植 wchar_t
C++ 中有可移植的 wchar_t 吗?在 Windows 上,它的 2 个字节。其他一切都是4个字节。我想在我的应用程序中使用 wstring,但是如果我决定移植它,这将导致问题。
windows - 如何在 Linux 中使用 POSIX 方法从文件中读取 Unicode-16 字符串?
我有一个包含 UNICODE-16 字符串的文件,我想将其读入 Linux 程序。这些字符串是从 Windows 的内部 WCHAR 格式原始写入的。(Windows 是否总是使用 UTF-16?例如在日文版本中)
我相信我可以使用原始读取和使用 wcstombs_l 进行转换来读取它们。但是,我不知道要使用什么语言环境。在我最新的 Ubuntu 和 Mac OS X 机器上运行“locale -a”会产生零语言环境,其名称中包含 utf-16。
有没有更好的办法?
更新:正确答案和下面的其他人帮助我使用 libiconv。这是我用来进行转换的函数。我目前将它放在一个类中,该类将转换为一行代码。
winapi - Win32:判断stdout句柄是char还是wchar流
我正在为我们的产品编写一个 win32 实用程序函数,该函数需要通过 shell 调用任意程序并记录其输出。我们通过将标准输出从子进程重定向到管道来做到这一点:
可以这样调用的程序种类繁多,其中许多不在我们的控制之下。目前我们看到一个问题,许多程序的输出在第一个字符之后似乎被截断——通常是一个确定的信号,表明 WCHAR 字符串被错误地用作 CHAR。
如何判断子进程是作为 CHAR 还是 WCHAR 写入其 stdout 管道?
c++ - std::wcout << L"élève" 的意外输出;在 Windows 外壳中
在测试一些函数以在 wchar_t 和 utf8 之间转换字符串时,我在 Visual C++ express 2008 中遇到了以下奇怪的结果
打印出“ÚlÞve:”,这显然不是预期的。
这显然是一个错误。怎么可能 ?我应该如何处理这样的“功能”?