首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

VS2008中运用socket编程接收乱码

2013-06-19 
VS2008中使用socket编程接收乱码今天动手将孙鑫十五章上的网络聊天室用VS2008为环境写了下,通过改掉种种er

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数组发

热点排行