VS怎么改内编码

zl39049979 2011-03-19 09:18:09
RT,我用的中文版VS2005,如今在用IP控件时得到地址然后转换,再赋到那个地址结构,出现错误,转换后的赋给地址结构出问题了
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不久,希望各位帮帮忙
...全文
128 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
向立天 2011-03-19
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 zl39049979 的回复:]

引用 4 楼 yingnimeng1990 的回复:

你的工程是Unicode的?
那需要做一次转换
用MultiByteToWideChar
头有点晕,用DOXYGEN给程序生成注释文档的时候用了UTF8,中文就乱码,把输入文件改成GB2312就不乱码了,但是VS项目字符集是UNICODE,我都不知道我的源代码文件什么情况了
[/Quote]
那就是Unicode
zl39049979 2011-03-19
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 yingnimeng1990 的回复:]

你的工程是Unicode的?
那需要做一次转换
用MultiByteToWideChar
[/Quote]头有点晕,用DOXYGEN给程序生成注释文档的时候用了UTF8,中文就乱码,把输入文件改成GB2312就不乱码了,但是VS项目字符集是UNICODE,我都不知道我的源代码文件什么情况了
笨妞一号 2011-03-19
  • 打赏
  • 举报
回复
你的工程是Unicode的?
那需要做一次转换
用MultiByteToWideChar
向立天 2011-03-19
  • 打赏
  • 举报
回复
你的工程是Unicode的?
那需要做一次转换
用MultiByteToWideChar即可
zl39049979 2011-03-19
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 xianglitian 的回复:]

你的IpAddr是什么类型
CString么?
直接用就可以啊
[/Quote]是CSTRING,怎么直接用?赋给那个地址结构直接赋不行呀
向立天 2011-03-19
  • 打赏
  • 举报
回复
你的IpAddr是什么类型
CString么?
直接用就可以啊

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧