VS怎么改内编码
RT,我用的中文版VS2005,如今在用IP控件时得到地址然后转换,再赋到那个地址结构,出现错误,转换后的赋给地址结构出问题了
调试看时发现ipaddr没问题,赋给结构的时候少了第1字节,比如127.0.0.1就变成了0.0.0.1了。初步怀疑是编码问题,有些转换都要加_T,小弟接触WINDOW不久,希望各位帮帮忙
void CTestClientDlg::ConvertIpAddr()
{
if( IpAddr.IsEmpty() || PortNum ==0)
{
BYTE IP0,IP1,IP2,IP3;
m_CIpAddr.GetAddress( IP0, IP1, IP2, IP3);
//m_CIpAddr.GetAddress( &dwAddr);
//CString str;
//IpAddr.Format(_T("%d.%d.%d.%d"),(int)IP0,(int)IP1,(int)IP2,(int)IP3);
m_CE_PortNum.GetWindowText( str);
PortNum = _ttoi((LPTSTR)(LPCTSTR)str);
if( IpAddr.IsEmpty() || PortNum ==0)
{
MessageBox( _T("请输入IP地址和端口"),_T("警告"),MB_OK);
return ;
}
}
}CTestClient::CTestClient( )
{
s = socket( AF_INET, SOCK_STREAM, IPPROTO_TCP);
if( s == INVALID_SOCKET)
{
// MessageBox( NULL,"create socket failed","warning",MB_OK);
}
ServAddr.sin_family = AF_INET;
ServAddr.sin_port = htons( PortNum);
//wchar_t szIpAdr[100]={0x00};
//CString str;
//str ="127.0.0.1";
//ServAddr.sin_addr.S_un.S_addr = inet_addr( (LPSTR)(LPTSXX这里也是个宏,刚才被人删掉忘记了)IpAddr);
ServAddr.sin_addr.S_un.S_addr = inet_addr( "127.0.0.1");
//ServAddr.sin_addr.S_un.S_addr = inet_addr( &dwAddr);
}调试看时发现ipaddr没问题,赋给结构的时候少了第1字节,比如127.0.0.1就变成了0.0.0.1了。初步怀疑是编码问题,有些转换都要加_T,小弟接触WINDOW不久,希望各位帮帮忙
...全文
相关推荐
vs2008 可用的 ado 封装类
一个ado连接oracle的例子,里面用了一个封装类,原来是在vc6下的,我稍微改了一下,改成vs2008下用的,unicode是大势所趋,丢掉vc6,用vs2008,vs2010去
别只改字符集!深入理解VS中EasyX“重载函数不匹配”错误的编码根源与一劳永逸的解法
本文深入解析Visual Studio中使用EasyX图形库时常见的'重载函数不匹配'错误,揭示其背后的Windows字符编码系统机制。从MBCS到Unicode的历史演变出发,详细讲解EasyX的编码兼容性设计,并提供多种现代解决方案,包括使用_T()宏、显式宽字符串和字符串转换辅助函数等,帮助开发者从根本上解决编码问题。
VS2015操作MySQL简单封装类
自己封装的一个简单的VS2015平台下,C++操作MySQL数据库;可实现连接,增删改查等功能。
毕业设计系统\餐饮管理系统完整版VS2008和SQL Server
毕业设计系统\餐饮管理系统完整版VS2008和SQL Server数据库实现,功能强大。
对文本文档进行Huffman编码的小代码C++ VS2013
在VS2013下运行 包里面有相应的说明


