c - Windows C 编程 ReadFile CHAR 或 WCHAR

标签 c winapi

我正在使用 ReadFile 来读取具有我运行的命令输出的管道。但是我的理解是 ReadFile 只读取字节,不关心它们是 WCHAR 还是 CHAR。它只是读取字节。

我试图了解如何确定从缓冲区读取的字节是 WCHAR 还是 CHAR,以便我可以正确打印。这些字节将被发送回将打印的 Python 服务器。

最佳答案

您基本上是从流中读取数据,无论是文件管道还是内存缓冲区。因此,您通常获得的是指向程序中缓冲区的指针。由您的应用程序逻辑决定如何将这些字节视为 CHAR 或 WCHAR,即 UTF-8 或 UTF-16。请记住,CHAR 元素的缓冲区可以转换为 WCHAR 之一,反之亦然。

我建议使用 WHCAR 使您的应用程序兼容 UTF-16。您可以引用这个问题In C++ when to use WCHAR and when to use CHAR

关于c - Windows C 编程 ReadFile CHAR 或 WCHAR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54770835/

相关文章:

C win32 应用程序可以编译和链接,但除了进程之外什么也不显示给我。为什么?

c++ - 基于对话框的 Win32 API 程序在使用 Richedit 控件时不会显示窗口

c - 如何精确地将 float 转换为二进制

WIndows MAPI unicode 问题

c - 读取设备数据流时缺少流量控制数据 (0x13)

c - 确保 scanf 只读取 dd.mm.yyyy

windows - 处理多个鼠标

c++ - WaitForSingleObject 未锁定,仍允许其他线程更改 C++ 中的值

c - 链表: Inserting a name and id number to list

c - 不同 libc 实现中 wprintf() 中 "%s"的不同行为