【发布时间】:2015-07-24 02:34:30
【问题描述】:
我已经使用管道重定向了 java.exe 的标准输出。现在我使用 ReadFile 和 char 缓冲区读取输出:
ReadFile( childStdOUTRd, buffer, sizeof(char) * 4096, &read, NULL);
缓冲区将被分配正确的数据。但如果我将其更改为 TCAHR[4096]:
ReadFile( childStdOUTRd, buffer, sizeof(TCHAR) * 4096, &read, NULL);
缓冲区收到乱码。我错过了什么吗?
【问题讨论】:
-
您如何确定缓冲区收到“乱码”?
-
@MattMcNabb 这些字是看不懂的。
-
@buttifulbuttefly 是 wchar_t。
-
@zzy 你是如何阅读它们的?你能展示你用来阅读它们的代码吗?
-
@MattMcNabb 和msdn.microsoft.com/zh-cn/library/windows/desktop/…一样,只是把缓冲区改成tchar,子进程是java.exe(运行.jar游戏)。