1.windows为了支持国际化的程序开发,推荐使用tchar.h中的函数作为字符串处理函数。而t***开头的函数会根据是否定义了相应的Macro在预处理的时候展开成相对应的函数。下面就是宏与函数的对应。
TCHAR.H routine |
_UNICODE & _MBCS not defined |
_MBCS defined |
_UNICODE defined |
_tcslen |
strlen |
strlen |
wcslen |
_tcsclen |
strlen |
_mbslen |
wcslen |
_tcsclen_l |
strlen_l |
_mbslen_l |
wcslen_l |
2.Ansi C的字符串处理函数是以\0作为结束标志处理的,而MSVC的mbcs处理函数会根据字符串进行判断字符时单字节还是多字节,是ansi c的字符处理的一个扩展。unicode处理函数以2字节作为一个字符处理。
3. ansi C函数是C运行库提供,mbcs由msvc运行库提供。wcs处理函数最后发布的时候也包含在msvc运行库中。
4.正确声明TCHAR字符串,请使用对应的宏,例如:T宏。
本站还有一篇文章:
字符串编码及函数使用:http://blog.chinaunix.net/u/4591/showart.php?id=419517
字符串编码及使用函数(二)转贴:http://blog.chinaunix.net/u/4591/showart.php?id=419522
阅读(1049) | 评论(0) | 转发(0) |