2013-03-13 2 views
1
(void)sprintf(Thermo_Buff,"%s\xC2\xB0""",a); //to add to buffer 

답변

4

문자열 리터럴에서 특수 문자의 접두사로 백 슬래시 \이 사용됩니다. newline ("\n")에 대해 알고 계실 것입니다.

백 슬래시 뒤의 특수 문자가 x 인 경우 다음 두 문자가 16 진수임을 나타내며이 두 자리는 컴파일러에서 문자로 변환됩니다. 당신의 예에서

sprintf 호출이 UTF-8도 문자 인 16 진수 0xc20xb0에 따라 문자열, 다음 두 개의 문자를 추가합니다 (예를 들어, this reference 참조).

+0

덕분에 @joachim. –

1

이것은 학위 기호이며, UTF-8 유니 코드로 인코딩되어 있습니다.

UTF-8 here에서 더 완벽한 문자 목록과 모양을 볼 수 있습니다.

0

???이 숫자 인 \x??? 형식의 내용은 유니 코드 이스케이프입니다. 키보드로 입력 할 수없는 유니 코드 문자를 입력하는 방법입니다. 당신이 this table 보면이 경우에, 당신은 당신의 코드에서 \xC2\xB0를 작성 이스케이프 시퀀스 c2 b0의 (a 도 기호를 인코딩 것을 볼 수 있습니다 -. 즉,이 무엇을 의미하므로