我查了iso_8859-1的手册,找到了度数符号:
\n\nOct Dec Hex Char Description\n260 176 B0 \xc2\xb0 DEGREE SIGN\nRun Code Online (Sandbox Code Playgroud)\n\n代码:
\n\nint main( int argc, char *argv[])\n{\n char chr = 176; //stores the extended ASCII of a symbol\n printf("Character with an ascii code of 251: %c \\n", chr);\n return 0;\n}\nRun Code Online (Sandbox Code Playgroud)\n\n但它打印出来的是?.
如何在 C 程序中输出学位符号?我需要包含一些文件吗?
\n要使用 ASCII 以外的其他字符,在大多数平台上,您必须切换到能够处理此类字符的“区域设置”。在你的开始main你应该有
#include <locale.h>\n int main(void) {\n setlocale(LC_ALL, "");\n ...\n }\nRun Code Online (Sandbox Code Playgroud)\n\n这里的空字符串""字面上代表您平台的默认区域设置。
现在,您的平台支持什么区域设置是您必须自己找出的东西,您没有向我们提供足够的信息。我强烈建议不要像您提议的那样使用过时的编码,而是选择 UTF-8。
\n\n通常,您可以将 UTF-8 字符序列自然地嵌入到普通的 C 字符串中,因此类似的内容"105\xc2\xb0 C"应该打印为度数字符。