可能な重複:
なぜUNICODEと_UNICODEの両方?
UNICODEととの違いは何ですか?_UNICODE? Unicode文字を使用するようにプログラムをコンパイルする場合、両方を定義する必要がありますか? Unicode文字を使用するために2つの異なる識別子がある理由はありますか?
回答:
回答№1は4レイモンドチェン 答えがあります。
アンダースコアのない普通のバージョンは影響しますWindowsヘッダーファイルがデフォルトとして扱う文字セット。そのため、UNICODEを定義すると、GetWindowTextは、たとえばGetWindowTextAではなくGetWindowTextWにマップされます。同様に、TEXTマクロは "..."ではなくL "..."にマッピングされます。
下線付きのバージョンは、Cランタイムヘッダファイルがデフォルトとして扱う文字セット。そのため、_UNICODEを定義すると、_tcslenはstrlenではなくwcslenにマップされます。同様に、_TEXTマクロは "..."ではなくL "..."にマッピングされます。