왜 여기 wcwidth
은 "-1"(인쇄 가능한 와이드 문자가 아님) 너비 "Ԥ"(0x0524)를 반환합니까?wcwidth가 터미널에서 인쇄 할 수있는 기호와 함께 -1을 반환하는 이유는 무엇입니까?
#include <stdio.h>
#include <wchar.h>
#include <locale.h>
int wcwidth(wchar_t wc);
int main()
{
setlocale(LC_CTYPE, "");
wchar_t wc1 = L'合'; // 0x5408
int width1 = wcwidth(wc1);
printf("%lc - print width: %i\n", wc1, width1);
wchar_t wc2 = L'Ԥ'; // 0x0524
int width2 = wcwidth(wc2);
printf("%lc - print width: %i\n", wc2, width2);
return 0;
}
Output:
合 - print width: 2
Ԥ - print width: -1
다른 문서에서는 로캘이 중요하다는 것을 알 수 있습니다. 그 중 어떤 아이디어라도 동일/현재 지역의 유효 와이드 문자 모두입니까? – xaxxon
집 모양의 16 진수 값은 무엇입니까? – xaxxon
@ xaxxon : LANG = de_DE.UTF-8 –