UNICODE 工程下 CSTRING 转 CONST CHAR* 的最简便方法 VS2005 VS2008

来源:互联网 发布:淘宝白菜qq群怎么赚钱 编辑:程序博客网 时间:2024/05/18 03:19

 在看孙鑫第十五讲聊天室的编写以后,马上就想练练.可是万事OK,就到sendto这个函数就开发发难了.

    recvfrom的第二个参数同样是char* 的指针,但是可以直接接受WCHAR宽字符,真是生气,但生气是解决不了问题的,赶快上网找找答案吧,从MSDN到GOOGLE,经过了一小天的研究真可是又火又高兴,火的是很多人都是用自己编写的函数来解决的,可是如果那样以为简单的东西又复杂了.高兴的是吃过晚饭又继续寻找答案,最终在一个国外的网页中找到了答案,只用了3,4句就搞定了.

        下面贴出来,以防再被这个问题所困扰的人:

 

 

       //注意,这里的LPCSTR是不可以替换成CHAR的,否则下边会出现问题

       LPCSTR pszNonUnicode;
       CString strUnicode;
       USES_CONVERSION;    
       pszNonUnicode = W2A( strUnicode.LockBuffer( ) );

       //这句很关键如果没有此句,那么上边的strUnicode字符就不可以在使用了.
       strUnicode.UnlockBuffer( );

 

 

然后就可以用sendto发送想要发送的内容了.