在看孙鑫第十五讲聊天室的编写以后,马上就想练练.可是万事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发送想要发送的内容了.