(void)sprintf(Thermo_Buff,"%s\xC2\xB0""",a); //to add to buffer
1
A
답변
4
문자열 리터럴에서 특수 문자의 접두사로 백 슬래시 \
이 사용됩니다. newline ("\n"
)에 대해 알고 계실 것입니다.
백 슬래시 뒤의 특수 문자가 x
인 경우 다음 두 문자가 16 진수임을 나타내며이 두 자리는 컴파일러에서 문자로 변환됩니다. 당신의 예에서
가 sprintf
호출이 UTF-8도 문자 인 16 진수 0xc2
및 0xb0
에 따라 문자열, 다음 두 개의 문자를 추가합니다 (예를 들어, this reference 참조).
1
이것은 학위 기호이며, UTF-8 유니 코드로 인코딩되어 있습니다.
UTF-8 here에서 더 완벽한 문자 목록과 모양을 볼 수 있습니다.
0
???
이 숫자 인 \x???
형식의 내용은 유니 코드 이스케이프입니다. 키보드로 입력 할 수없는 유니 코드 문자를 입력하는 방법입니다. 당신이 this table 보면이 경우에, 당신은 당신의 코드에서 \xC2\xB0
를 작성 이스케이프 시퀀스 c2 b0
의 (a 도 기호를 인코딩 것을 볼 수 있습니다 -. 즉,이 무엇을 의미하므로
덕분에 @joachim. –