wchar-t相关内容

可能C++工作草案的措辞有缺陷(整数转换排名规则)

我在working draft of standard C++中发现了一个可能的矛盾。首先我介绍事实,最后是我的问题。 建立整数折算等级时,[conv.rank]/1.1表示 没有两个带符号的整数类型[...]应具有相同的整数 转换等级,即使它们具有相同的表示形式。 [basic.fundamental]/8表示: 类型wchar_t是具有实现定义的不同类型 带符号或无符号 ..
发布时间:2022-05-17 09:32:00 C/C++开发

将 (const) char * 转换为 LPCWSTR

我正在尝试使用 WinAPI 中的 FindWindow(),我想向用户询问窗口标题的输入: char *input;cout 相当标准.那么,如何将其转换为 LPCWSTR for FindWindow()? 我已经尝试过以下方法:_T(input), TEXT(input), (LPCWSTR)input 但没有一个工作.我也尝试使用 wchar_t 而不是 char,但我在其他任 ..
发布时间:2022-01-12 20:38:02 C/C++开发

WChars、编码、标准和可移植性

以下可能不符合 SO 问题;如果超出范围,请随时告诉我离开.这里的问题基本上是,“我是否正确理解 C 标准,这是正确的处理方式吗?" 我想就我对 C(以及 C++ 和 C++0x)中的字符处理的理解要求澄清、确认和更正.首先,一个重要的观察: 可移植性和序列化是正交概念. 可移植的东西是像 C、unsigned int、wchar_t 这样的东西.可序列化的东西是诸如 uint3 ..
发布时间:2021-12-26 13:21:37 C/C++开发

如何使用 C 预处理器将连接的字符串转换为宽字符?

我正在做一个项目,其中有许多由连接(数字等)组成的常量字符串. 例如,我有一个 LOCATION 宏,它可以将 __FILE__ 和 __LINE__ 格式化成一个字符串,我可以用它来知道我所在的位置打印消息或错误时的代码: #define _STR(x) # x#define STR(x) _STR(x)#define LOCATION __FILE__ "(" STR(__LINE__ ..
发布时间:2021-12-22 18:35:36 C/C++开发

TCHAR 仍然相关吗?

我是 Windows 编程的新手,在阅读了 Petzold 的书后,我想知道: 使用 TCHAR 类型和 _T() 函数来声明字符串还是我应该只使用 wchar_t 函数的好习惯> 和 L"" 字符串在新代码中? 我将只针对 Windows 2000 及更高版本,并且我的代码从一开始就是 i18n. 解决方案 如果我今天在做一个新项目,我仍然会使用 TCHAR 语法.使用它和 ..
发布时间:2021-12-02 08:26:49 C/C++开发

如何将char数组转换为wchar_t数组?

char cmd[40];驱动程序 = FuncGetDrive(驱动程序);sprintf_s(cmd, "%c:\\test.exe", 驱动程序); 我不能在 中使用 cmd sei.lpFile = cmad; 所以,如何将char 数组转换为wchar_t 数组? 解决方案 来自 MSDN: #include #include #include 使用命名空间标准;使用命 ..
发布时间:2021-11-18 04:17:30 C/C++开发

摆脱 wchar_t 大小链接器警告

我使用 -fshort-wchar 编译我的 Android NDK 库.我知道 RTL 假设 4 字节 wchar_t,我知道我在做什么,库工作.但是,在每个构建链接器上,每个目标文件都会给我以下警告: ld.exe:警告:MyFile.o 使用 2 字节 wchar_t 但输出使用 4 字节 wchar_t;跨对象使用 wchar_t 值可能会失败 当我提供 LOCAL_LDLI ..
发布时间:2021-11-02 23:11:01 移动开发

当我切换到 Edge 时,Windows 控制台应用程序停止打印

我必须编写一个控制台应用程序来记录活动窗口的 PID、文本长度和文本. 它可以工作,除非我切换到 Edge.执行不会停止,但只有 PID 和文本长度会打印到屏幕上. 请帮忙,我不知道还能尝试什么. #include #include #include int main(){//使用环境的默认语言环境作为字符类型setlocale(LC_CTYPE,“");std::cout ..
发布时间:2021-09-25 19:20:50 C/C++开发

与遗留 TCHAR 代码接口的正确样式

我正在修改广泛使用 TCHAR 的其他人的代码.在我的代码中只使用 std::wstring 是更好的形式吗?wstring 应该等同于widechar 平台上的TString,所以我没有看到问题.理由是,使用原始 wstring 比支持 TCHAR 更容易……例如,使用 boost:wformat. 下一个维护者会更清楚哪种风格?我浪费了几个小时试图理解字符串的复杂性,似乎只使用 wstr ..
发布时间:2021-09-25 19:15:02 C/C++开发

windows wchar_t 如何处理基本多语言平面之外的 unicode 字符?

我在这里和其他地方查看了许多其他帖子(见下文),但我仍然没有明确回答这个问题:windows wchar_t 如何处理基本多语言平面之外的 unicode 字符? 即: 很多程序员似乎觉得 UTF-16 是有害的因为它是一个可变长度的代码. wchar_t 是 16 位宽windows,但 Unix/MacOS 上的 32 位宽 Windows API 使用宽字符,而不是 Unic ..
发布时间:2021-09-25 18:58:58 其他开发

wchar_t 未签名或已签名

在这个链接 unsigned wchar_t 被 typedef 编为 WCHAR.但是我在我的 SDK winnt.h 或 mingw winnt.h 中找不到这种 typedef. wchar_t 是有符号的还是无符号的? 我在 C 语言中使用 WINAPI. 解决方案 wchar_t 的符号性未指定.标准只说(3.9.1/5): 类型 wchar_t 应与其他整数类 ..
发布时间:2021-09-25 18:53:30 其他开发

wchar_t* 在 MSVC 中使用 UTF8 字符

我正在尝试使用 vsnprintf 将 wchar_t* 格式化为 UTF-8 字符,然后使用 printf 打印缓冲区. 给定以下代码: /*此代码是 KB 示例的修改版本:https://www.ibm.com/support/knowledgecenter/en/ssw_ibm_i_73/rtref/vsnprintf.htm我的实际场景需要使用`setlocale`,但如果可以解决 ..
发布时间:2021-09-15 19:43:24 其他开发

理解和用 C 编写 wchar_t

我目前正在为学校项目重写(一部分)printf() 函数.总的来说,我们需要用几个标志、转换、长度修饰符来重现函数的行为...... 我唯一要做的事情就是标记 %C/%S (或 %lc/%ls). 到目前为止,我已经收集到 wchar_t 是一种可以在多个字节上存储字符的类型,以便接受更多的字符或符号,从而与几乎所有语言兼容,不管他们的字母和特殊字符. 但是,我无法找到有关 wc ..
发布时间:2021-06-21 18:56:45 其他开发

C++ 中的可移植 wchar_t

C++ 中有可移植的 wchar_t 吗?在 Windows 上,它是 2 个字节.其他的都是 4 个字节.我想在我的应用程序中使用 wstring,但如果我决定直接移植它,这会导致问题. 解决方案 如果您正在处理程序内部的使用,请不要担心;A 类中的 wchar_t 与 B 类中的相同. 如果您计划在 Windows 和 Linux/MacOSX 版本之间传输数据,那么您需要担心的 ..
发布时间:2021-06-18 20:15:18 C/C++开发

wint_t是否总是至少与wchar_t一样大?以及unsigned short如何满足wint_t的要求?

似乎每个人都认为 wint_t 至少与 wchar_t 一样大.但是,C标准允许 wchar_t 范围的值不直接与扩展字符集中的任何字符相对应: 值 WCHAR_MIN 和 WCHAR_MAX 不一定与扩展字符集的成员相对应. 和: wchar_t ,它是一种整数类型,其值范围可以代表受支持的语言环境中指定的最大扩展字符集的所有成员的不同代码;空字符的代码值为零. 和 wi ..
发布时间:2021-05-04 20:35:08 其他开发