Czytam książkę: C: W skrócie, a po przeczytaniu sekcję zestawy znaków, który mówi o szerokich znaków, napisałem ten program:Jak zainicjować zmienną wchar_t?
#include <stdio.h>
#include <stddef.h>
#include <wchar.h>
int main() {
wchar_t wc = '\x3b1';
wprintf(L"%lc\n", wc);
return 0;
}
Następnie skompilowany go za pomocą gcc , ale dał mi ten gcc ostrzeżenie:
main.c: 7: 15: ostrzeżenie: hex sekwencja ucieczki poza zakresem [domyślnie włączona]
Program nie wypisze znaku α (którego kod Unicode to U + 03B1), co właśnie chciałem.
Jak zmienić program, aby wydrukować znak α?
'wchar_t wc = L '\ x03b1';' eliminuje ostrzeżenie, choć nadal nie drukuje alfa. –
To, czego naprawdę chcę, to nie eliminować ostrzeżenia, ale uzyskać właściwą odpowiedź. :-( –
Gdzie drukujesz? Jeśli terminal, z jakim kodowaniem jest twój zestaw terminali do konwersji? –