1
(void)sprintf(Thermo_Buff,"%s\xC2\xB0""",a); //to add to buffer
4

3 回答 3

4

在字符串文字中,反斜杠\用作特殊字符的前缀。例如,我确定您知道换行符 ( "\n")。

如果反斜杠后面的特殊字符是an,x则表示接下来的两个字符是十六进制数字,而这两个数字被编译器翻译成一个字符。

在您的示例中,该sprintf调用添加了一个字符串,然后添加了两个基于十六进制数字的单独字符0xc20xb0,这是度字符的 UTF-8(例如,请参见this reference)。

于 2013-03-13T09:01:07.673 回答
1

这是一个度数符号,编码为 UTF-8 unicode。

您可以在此处查看更完整的字符列表以及它们在 UTF-8 中的样子。

于 2013-03-13T09:00:44.317 回答
0

在 C 中,\x???字符串文字中的格式(其中???是数字)是Unicode 转义。它是一种输入 Unicode 字符的方法,无法用键盘输入。在这种情况下,如果您查看此表,您将看到转义序列c2 b0\xC2\xB0在您的代码中编写的编码一个度数符号- 这就是它的意思。

于 2013-03-13T09:01:16.093 回答