プログラムを中心とした個人的なメモ用のブログです。 タイトルは迷走中。
内容の保証はできませんのであしからずご了承ください。

2016/06/22

C言語でUnicodeを扱う

event_note

長年マルチバイト環境でプログラミングしていたため、ちょっとはまってしまいました。
Windows環境でのお話です。
とりあえずTCHAR型を使用すればOKみたいです。

ヘッダーファイルのインクルード

以下の2つが必要になります。

#include <tchar.h>
#include <locale.h>

ロケールの設定

まずは以下のコマンドでロケールの設定を行っておかないと日本語が出力されません。

_tsetlocale(LC_ALL, _T("Japanese"));

文字列操作関数

詳細は参考URLを参照してもらえばわかると思いますが、strcpyやprintfなど、文字列操作系の関数は基本的に全て_t系の関数に代わります。

文字列リテラル

_Tで括る必要があります。

TCHAR hoge[] = _T("hogehoge);

参考URL