charを_TCHARにして、str系の関数を_tcs系に置き換えれば
それで自動的に、_UNICODE、_MBCSの両方に対応ってわけじゃなくて、
結局、両方でコンパイルして、テストしないといけないわけだけど、
そこまで手間をかけるメリットないよな。
片方にしか対応しないなら、_mbs系か_wcs系に決めうちしたほうが
すっきりする。

半端にTCHARとか使ってるいて、ロジック面で変なのはもちろん、
_TCHAR* str = "hoge"; とかしてたり EOF使ってたり
するコードを見るたびに思うよ。