我们如何将非ASCII字符写入另一个进程的STDIN?

时间:2016-10-04 13:16:59

标签: c++ named-pipes 7zip

我有一个代码将字符串写入7-zip进程的STDIN。

if (!WriteFile(hInput, string.c_str(), dwBytesToWrite, &dwBytesWritten, NULL)) {
   logger.error(L"write file failed", GetLastError());
   goto Cleanup;
}

此字符串是7-zip进程的标准输入的密码输入。如果密码是所有ASCII字符,例如:Password @ 123,代码工作正常(7-Zip进程能够成功提取文件)。但如果密码是@WSX3edcß,它将失败,此代码失败(7-Zip进程获取错误的密码)。

在旁注中,正在从命令行的第3个工具中读取密码值。然后使用命名管道将此值传递给工具。从中写入7-zip stdin。

有没有办法将非ASCII字符串传递给7-zip进程?

我已尝试通过上述约定将wsrting写入stdin,但不起作用。

0 个答案:

没有答案