我们知道在windows平台上写C程序要考虑字符编码问题,为了兼容多字节字符集和Unicode,涉及字符,字符串操作,都要用TEXT宏围起来。
如果要使用printf,但是不确定字符集,可以使用 _tprintf 宏,编译时自动根据字符集转换成printf或wprintf。
如果编译器没有实现这个宏,可以自己写一个:
#ifdef _UNICODE
#define _tprintf wprintf
#else
#define _tprintf printf
#endif
这样就可以大胆 _tprintf 而不用担心编码问题了,注意,如果想在控制台输出中文Unicode,要先调用setlocale(LC_ALL, “”) 设置区域。