Nanashi-softプログラマ専用Windows Mobile 6


◇Windows Mobile 6-文字列でちょっと困った話-

文字列を WinAPIに渡す際によく,
L"日本語でOK"
こういう風に書くのですよ

この構文だと,色々困った事になります

define定義を使いたくても,
#define MOJIRETU "日本語でOK"

LMOJIRETU ←これは置換されません

L"MOJIRETU" ←"が2重になってしまいます

L MOJIRETU ←置換はされますが,Lの直後に"が無いとエラーになります

で,どうすれば良いのか色々調べたところ
TEXT(MOJIRETU)
で同等の機能になるようです

(LPCTSTR)MOJIRETU
でも良いみたいですが,そうするとよく書かれている定義方法の,
wchar_t szClassNme[] = L"日本語でOK";
を使用した際に具合が悪いです

Windowsでしか使わないので,深く考えずに TEXT()を使おう('-'*)
ちなみに,新システムのソースコードは UTF-8に統一しています
そうすると,iアプリがシフトJISのみなので具合が悪いのですが,その話は CeGCCとは関係ないので,また別の記事でどのように対策しているのか書きます


Nanashi-softプログラマ専用Windows Mobile 6