最終更新:2013-04-14 (日) 19:18:40 (4021d)  

マルチバイト文字
Top / マルチバイト文字

  • Visual Studio .NET 2003までは標準設定がマルチバイトだったのでWindowsAPIやDirectX用の関数の引数に文字列を受け渡す時は
TestFunc("文字列");

みたいな感じでオッケーでした。

しかし、Visual Studio 2005からはこれではダメなんです。

標準設定がユニコード設定なので多くの関数において文字列は

TestFunc( L"文字列" );
TestFunc( _T("文字列") );
TestFunc( _TEXT("文字列") );

のいずれかで受け渡さなないとダメ。

マクロ

  • L - wchar_t型のリテラル
  • _T_TEXT - プロジェクトがUnicode設定の時にはLに置き換わるマクロ

関連

参考