C言語Unicode小記
#include <stdio.h>
#include <locale.h>
#include <stdlib.h>
#include <wchar.h>
const int SIZE = 100;
int main(void)
{
wchar_t wstr[SIZE];
//wchar_t wstr[] = {0x5b89, 0x5353, 0};
/* , */
setlocale(LC_ALL, "Chinese-simplified"); // locale.h
//wscanf(L"%s", wstr);
// Illegal byte sequence ,
// CodeBlocks IDE
// Settings-Compiler-Global compiler settings-Compiler settings-Other options
// -finput-charset=GBK
wcscpy(wstr, L"HELLO hello"); // stdlib.h
int i;
for (i = 0; wstr[i]; ++i)
printf("%#06X
", wstr[i]);
wprintf(L"%ls
", wstr);
//fputws(wstr, stdout);
return 0;
}
出力結果:
0 X 0048 0 X 0045 0 X 004 C 0 X 004 C 0 X 004 F 0 X 4 E 16 0 X 754 C 0 X 0068 0 X 0065 0 X 006 C 0 X 006 C 0 X 006 C 0 X 006 F HELLOワールドhello