从 Windows 上的子进程读取宽字符输出

问题描述

我的应用程序必须在 Windows 上运行并使用 unicode 字符集。当我尝试使用以下命令读取输出时,我只会得到加扰的输出,但是除非存在当前代码不支持的字符,否则用 char_t 等效项替换所有类型都有效。有谁知道为什么 wchar_t 变体似乎根本不起作用以及如何修复它?

boost::process::wipstream outStream;
std::wstring wcmd = L"dir";
boost::process::child process(wcmd,boost::process::std_out > outStream);
std::wstring line;
std::vector<std::wstring> lines;
while ((process.running()) && (std::getline(outStream,line)))
{
    lines.push_back(line);
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)