读书人

VS2008中运用socket编程接收乱码

发布时间: 2013-06-19 10:26:40 作者: rapoo

VS2008中使用socket编程接收乱码
今天动手将孙鑫十五章上的网络聊天室用VS2008为环境写了下,通过改掉种种error,终于编译成功,但是实际接收到确是乱码,比如我发个hello,接收显示的确是:VS2008中运用socket编程接收乱码
网上查了下,应该是字符编码不同的原因,但是不太清楚具体应该怎么衔接,希望这方面的大侠能够帮我解答下,我修改了字符集为多字符集之后又有别的错误,而且,我也比较希望能掌握unicode下的编程,希望大虾们不吝赐教,先谢谢了哦~ VS2008 socket 乱码
[解决办法]
发送端用wchar_t*等,同时注意长度
[解决办法]
是不是你接收recv时,没有在数据结尾加啊,这有很多socket例子,都可以运行,你试试:
http://download.csdn.net/detail/geoff08zhang/4571358
[解决办法]
/***********************************************************
** 函数名称: int ConvertUnicodeToAscii(const CString &csData, char* pszData)

** 功能描述: Unicode转多字节

** 参 数: const CString &csData Unicode字符串
char* pszData 保存转换的多字节字符串

** 返 回 值: 转换的个数
************************************************************/
int ConvertUnicodeToAscii(const CString &csData, char* pszData)
{
int nDataLength;

nDataLength = WideCharToMultiByte( CP_ACP, 0, csData, -1 ,NULL,0,NULL,FALSE);

WideCharToMultiByte( CP_ACP, 0, csData, -1, pszData, nDataLength, NULL, 0);

pszData[nDataLength - 1] = '\0';

return nDataLength - 1;
}

转了之后,用转的char数组发

读书人网 >VC/MFC

热点推荐