Xcode中替代Visual Studio C++ char(248)输出度符号的方法
在Xcode中输出度符号的解决方法
问题核心是编码差异:Windows控制台默认使用GBK/CP1252编码,其中ASCII值248对应度符号;而Mac终端默认采用UTF-8编码,248不是UTF-8中有效字符,因此被转义显示为\370(八进制的248)。以下是几种可行的解决方式:
直接输出UTF-8字节序列
度符号(°)的Unicode码位是U+00B0,对应的UTF-8字节序列为0xC2和0xB0,可以直接在字符串中写入该序列:#include <iostream> using namespace std; int main() { cout << "F" << "\xc2\xb0" << '\t' << "C" << "\xc2\xb0" << endl; return 0; }直接写入度符号字符
如果你的代码文件以UTF-8编码保存(Xcode默认就是UTF-8),可以直接在字符串中写°字符:#include <iostream> using namespace std; int main() { cout << "F°\tC°" << endl; return 0; }使用宽字符输出
通过std::wcout输出Unicode转义字符,需要先设置UTF-8 locale:#include <iostream> #include <locale> using namespace std; int main() { wcout.imbue(locale("en_US.UTF-8")); wcout << L"F" << L'\u00B0' << L'\t' << L"C" << L'\u00B0' << endl; return 0; }
以上三种方法都能在Xcode的控制台中正确显示度符号,推荐前两种,实现更简洁直接。
内容的提问来源于stack exchange,提问作者Zhou103
相关产品推荐
相关产品推荐

