问题标签 [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++ - 为什么我从 RegisterClassEx 收到错误代码 87(无效参数)?
这是代码
此代码直接来自 Forgers Win32 教程(L""
需要时带有和 wchar_t)。但是我不能让它在 WinXP SP3 x86 和 VC2008Express SP1 上运行。
c++ - wstringstream 到 LPWSTR
wstringstream
我已经使用并需要将其分配给 astruct
类型的成员来构建一个字符串LPWSTR
。我尝试使用my_stringstream.str().c_str()
但得到以下编译时错误:
无法从 'const wchar_t *' 转换为 'LPWSTR'
我怎样才能做到这一点?当我尝试在 GUI 中显示字符串时,我尝试了许多不同的转换组合,或者更多的编译时错误或随机术语。
c++ - 在保持代码正确性的同时使用 iconv
我目前iconv
用于转换具有不同编码的文档。
该iconv()
函数具有以下原型:
到目前为止,我只需要转换类型的缓冲区,char*
但我也意识到我可能必须转换类型的缓冲区wchar_t*
。事实上,iconv
甚至对此类缓冲区都有一个专用的编码名称"wchar_t"
:这种编码适应操作系统设置:也就是说,在我的计算机上,它指的是 Windows 上的 UCS-2 和 Linux 上的 UTF-32。
但问题就在这里:如果我有一个缓冲区,wchar_t*
我可以reinterpret_cast
将它用于一个缓冲区char*
,iconv
但随后我将面临实现定义的行为:我不能确定所有编译器在强制转换方面的行为是否相同。
我应该在这里做什么?
c++ - 如何从 ANSI 字符 (char) 转换为 Unicode 字符 (wchar_t),反之亦然?
如何从 ANSI 字符 (char) 转换为 Unicode 字符 (wchar_t),反之亦然?
是否有任何用于此目的的跨平台源代码?
c - 如何在 Win32 命令行应用程序中将 argv 转换为宽字符?
我在我的程序中使用 C 的 win32 api 从串行端口读取,这似乎是相当低级的东西。假设没有更好的从串行端口读取的方法,CreateFile 函数涉及一个 LPCWSTR 参数,我读过它看起来 LPCWSTR 是一个 wchar_t 类型。首先,我不太了解 wchar 和 char 之间的区别,我读过有关 ansi 和 unicode 的内容,但我真的不知道它如何适用于我的情况。
我的程序使用 main 函数,而不是 wmain,并且需要从命令行获取参数并将其存储在 wchar_t 变量中。现在我知道如果我当场就可以做到这一点;
因为它看起来像 L 将 char 数组转换为 wchar 数组。但是,当我这样做时它不起作用;
显然是因为它是一个语法错误。我想我的问题是,有没有一种简单的方法可以将普通字符串转换为 wchar_t 字符串?
或者有没有办法完全避免这种Unicode的东西,并在Windows上使用C以另一种方式从串行读取..
visual-c++ - 将 tchar[] 转换为 LPCWSTR
我正在使用 FindFirstFile 遍历目录以搜索 dll。
当我获取 dll 时,我使用 WIN32_FIND_DATA 结构的 cfilename 来获取该 dll 的名称。
现在,我想将 dll 传递给函数 LoadLibrary() ,该函数期望 dll 的绝对路径。
问题来了:WIN32_FIND_DATA 结构的 cfilename 返回一个 TCHAR[] 数组,它只是 dll 的名称,而不是它的路径。我应该将路径连接到名称以获得绝对路径。
LoadLibrary() 需要一个 LPCWSTR 作为参数。
我需要帮助: (1) 将 WIN32_FIND_DATA 的 cfilename 返回的 TCHAR[] 转换为 LPCWSTR (2) 将上述转换后的 LPCWSTR 与预定义路径 (L"C:\dir\example\") 连接以获得绝对路径。
任何对正确答案的推动都会让我开心:)
问候,安迪
visual-c++ - 使用 wcscat_s 连接两个 wchar_t* 时出现访问冲突错误
我正在尝试使用 wcscat_s 函数将一个 wchar[] 连接到一个 wchar_t* 。我不断收到访问冲突错误。
这是代码
有什么建议我哪里出错了吗?
PS如果我使用wchar_t path[]
而不是wchar_t* path
,我会在调试模式下收到损坏警告,但是当我单击继续时它会在不破坏应用程序的情况下执行。在发布模式下,错误根本不显示。
问候,安迪
更新:这是整个代码:我想要实现的是从嵌入在 dll 中的资源播放波形文件......
c - wchar_t 数组传入函数
我正在使用 Visual Studio 2010 在 Windows 上制作 C 程序。
我正在将一个 wchar_t 数组传递给一个函数。
我使用调试器观察 bla, sizeof(bla) 并注意到在 main 中, bla 是 type wchar_t
,sizeof(bla) = 2048
但在 mymethod 中, bla 是 typeunsigned short*
并且 has sizeof(bla) = 4
。
为什么会这样?
我想将 bla 传递给该方法,以便该方法可以更改数组而不是返回已编辑的数组。但是,swprintf 不起作用,因为我希望 sizeof(bla) 为 1024 而不是 4。
干杯。
c - char 与 wchar_t
我正在尝试打印出 wchar_t* 字符串。代码如下:
问题:
显然我不应该将 CJK 字符分配给第 1 行中的 char* 指针,但我只是这样做了,第 3 行的输出是正确的,那为什么呢?第 3 行中的 printf() 如何给我非 ascii 字符?它以某种方式知道编码吗?
我假设第 2 行和第 4 行中的代码是正确的,但为什么我没有得到第 4 行的任何输出?