ゲームが作れるようになるまでがんばる日記

ゲーム制作のことを中心にゲームに関することを書いています

wchar_t

char型は1バイトの文字だが、wchar_t型は2バイトのワイド文字。文字列をUnicodeで扱うためのもの。
ワイド文字型で文字列を表現するには文字列の前にLを付ける。

wchar_t text[] = L"ABCDE";

char型の文字列操作の関数はwchar_t型ではどうなっているか、思いついたものをリファレンスで調べてみた。

strcmp → wcscmp
strcat(strcat_s) → wcscat(wcscat_s)
strcpy(strcpy_s) → wcscpy(wcscpy_s)
sprintf(sprintf_s) → swprintf(swprintf_s)

括弧内の関数はセキュリティを強化したバージョン。今後はこちらを使うべき。
ちなみに、

typedef wchar_t WCHAR;

WindowsではWCHARとしてtypedefされている。