大家都知道,计算机内部有两种不同的字符集:UNICODE字符集和ANSI字符集。
对应于这两种字符集,存在两类不同的操作方法,例如,wstrlen()和strlen()。使用wstrlen()意味着程序无法正确处理采用ANSI编码的字符,使用strlen()意味着程序无法正确处理采用UNICODE编码的字符串。
上午想用VC++编写一个程序,完成将编辑框里的文本写入文本文件的功能。好在微软为大家提供了对UNICODE和ANSI字符进行统一操作的字符类型,省去了不少周折。
当没有定义_UNICODE宏时,TCHAR = char,_tcslen() = strlen()
当定义了_UNICODE宏时,TCHAR = wchar_t , _tcslen() = wstrlen()
这样写出来的程序就对UNICODE和ANSI兼容了。