すでに解決済みになっていますが、「Tchar.h における汎用テキストのマッピング」も参照してみると良いかもしれません。
ただし、tchar系はMicrosoft(Visual C++)固有の機能であり移植性がないので、それを使わなければ困るという特別な理由がない限りは使わない方がいいです。元々はWindows 9x系とWindows NT系で異なる文字コード(前者はマルチバイト文字、後者はワイド文字)の違いを吸収して、同じソースで両方に対応するプログラムを書けるようにするという目的で実装されたものですが、それ故に(C/C++標準に則った)外部ライブラリーの利用などでトラブルになることが多いです。
すでに9x系が消滅した現在でも「互換性」の観点から残されているだけに過ぎません。ですので、最初にどちらの文字コードを使うかを決めてコーディングした方がいいでしょう(要するに文字コードとしてcharとwchar_tのどちらにするかを決めるというだけです)。
2017/02/19 02:40