注意:USES_CONVERSION宏开头
之前自己写了4个CHAR与TCHAR的编码函数,后来发现ms早就提供了类似的方法:CA2T CT2A……
但是有同事说,这两个函数不安全,有隐患,没有在意
但是真的用的时候,的确发现它们有些注意事项,简单来说,其实就是作用域的问题
Fun(CA2T(szSrc));
可以,Fun函数用转换后的TCHAR,没问题,因为没有出Fun()这个括号的作用域
tstring strDes = CA2T(szSrc);
可以,因为返回值立刻赋给了strDes,strDes有自己的存储空间,CA2T的数据作用域就在这一行,出了就不要了
TCHAR* szDes = CA2T(szSrc);
失败,这个szDes指向一个已经释放的作用域的值,下一行在用szDes就危险了,没有分配