std的MCBS和UNICODE问题
双杯献酒 2007-01-23 03:56:05 在VC上编程序,
对于Windows API和C/C++运行时库
如果使用MCBS,所有字符串都是char*
如果使用UNICODE,所有字符串都是wchar_t*
如果需要分别编译为MCBS和UICODE,可以用TCHAR*
其中MFC中的CString也受MCBS/UNICODE宏控制,相当于TCHAR*
然而在std中,
MCBS用string
UNICODE用wstring
另外io流与此类似.
好象没有一个可以同时适应MCBS和UNICODE的东西.
当然可以自己定义
#ifdef UNICODE
#define mystring string
#else
#define mystring wstring
#endif
然而考虑到还有IO流等一整套,
终究太不爽.
大家有什么好方法?