char, wchar_t & TCHAR
以前写程序都不太注意UNICODE问题,因为做的东西基本上都是在固定的平台上跑,而一般的函数用char传递字符串都没有问题。
这几天写程序遇到一个函数调用,居然只支持wchar_t的宽字符,就在程序里面写了不少wchar_t的字符串定义。写着写着就发现这样的代码太难看了,一会儿char,一会儿wchar_t的,乱。于是就返工,把他们都改成了TCHAR,并且定义了全局宏UNICODE(或者_UNICODE),这样一来,代码里面就都是TCHAR了。至于那些只支持UNICODE的函数,在编译的时候加入编译条件,如果没有定义UNICODE宏,就忽略他们吧。
相应的,有关字符串操作的函数,都改用了TCHAR.H里面定义的,比如strcpy改成了_tcscpy,sprintf改成了_stprintf


