问题描述 投票:0回答:0

输出:

你你你好

在调试中,发现输入变量变为l“ \ u00000002 \ u00000002你你你好”

在发射和调试中我看到输入是错误的

这是我的设想变量:

$ clang++ --version Apple clang version 16.0.0 (clang-1600.0.26.6) Target: arm64-apple-darwin24.3.0 Thread model: posix InstalledDir: /Library/Developer/CommandLineTools/usr/bin $ locale LANG="en_US.UTF-8" LC_COLLATE="en_US.UTF-8" LC_CTYPE="en_US.UTF-8" LC_MESSAGES="en_US.UTF-8" LC_MONETARY="en_US.UTF-8" LC_NUMERIC="en_US.UTF-8" LC_TIME="en_US.UTF-8" LC_ALL=

如果有人可以帮助我弄清楚出了什么问题以及如何解决它,我会很感激。这是Clang在MacOS上处理语言环境设置的错误,还是我在代码中做错了什么? 我尝试了正确的代码(我认为),我希望输出等于输入和正确的程序行为

MacOS上的跨字符是四个字节;您可能期待两个字节。

如果有可能的话,请与UTF-8开关。

c++ macos clang locale
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.