gpt4 book ai didi

c++ - 在 VS 调试器中显示 UTF-16 字符串

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:55:05 26 4
gpt4 key购买 nike

我正在 VS 2012 中开发 C++ 程序。我的程序需要支持多种不同的语言,因此我使用的是 UTF-16。当我在调试时将鼠标悬停在字符串上时,Visual Studio 会显示字符串的内容。不幸的是,当该字符串不是英文时,显示是乱码。这是它的外观示例:

L"×××× ×ª××ר  ××× ×× ××§×  ×¢×× ××× ×ר×× ××¨× ×ש×××× ××תר"

有什么办法可以让VS在调试时正确显示字符串?

谢谢。

最佳答案

原来我的问题是我没有以二进制模式打开文件,这就是字符串被搞砸的原因。你应该像这样打开二进制文件:

std::wifstream in(fileName,std::ios::binary);
in.imbue(std::locale(in.getloc(),
new std::codecvt_utf16<wchar_t, 0x10ffff, std::consume_header>));

关于c++ - 在 VS 调试器中显示 UTF-16 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20960182/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com