VC++ TCHARに関連したTips

VisualC++では、「文字セット」の設定によって、デフォルトで使用する文字列型が異なってくる。
ANSI:char
UNICODE:w_char
※ Visual Studio 2005から、UNICODEがデフォルトになっている。

これについて、設定に依存しないコードにするためのマクロが用意されている。
<tchar.h>をインクルードすることで、以下のようなマクロが使用可能となる。

ANSI マルチバイト UNICODE マクロ 備考
(指定なし)   L("****") _T("****") UNICODE文字列であることを指定するために、L()で囲む
_snprintf_s   _snwprintf_s _sntprintf_s sprintf()のセキュリティ強化版
strcpy_s   wcscpy_s _tcscpy_s strcpy()のセキュリティ強化版
strncat_s   wcsncat_s _tcsncat_s strncat()のセキュリティ強化版

* セキュリティ強化版は、VS2005以降(_MSC_VER >= 0x1400)で使用可能

タグ:

Win32
最終更新:2010年03月17日 11:16