在终端上正确输出c ++ Windows wstring日志

时间:2018-08-24 21:40:11

标签: c++ windows utf-8 terminal utf-16

我的工作使用Windows wstring进行所有操作。我想在日志文件上运行类似less的内容,但是发现它在每个字符周围都包含空格。

我已经弄乱了代码表和其他东西,以使我的终端“看到” utf-16,但是什么都没得到。甚至可以做到吗?

1 个答案:

答案 0 :(得分:0)

@ 2c2c我相信您知道wstring将平均字符视为双字节,其中每个字符都以两个十六进制代码形式出现。您是否有第二个字节不为0x00的字符?如果不是,那么看起来少了将它们转换为空格。在这种情况下,您可以使用WideCharToMultiByte()函数转换输出。