多字节字符集错误

1>d:\lianxi20160303\sockettest\test1\test1\test1dlg.cpp(172): error C2664: “void ATL::CStringT<BaseType,StringTraits>::Format(const wchar_t *,...)”: 不能将参数 1 从“const char [12]”转换为“const wchar_t *”
1>          with
1>          [
1>              BaseType=wchar_t,
1>              StringTraits=StrTraitMFC_DLL<wchar_t>
1>          ]
1>          与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换
1>d:\lianxi20160303\sockettest\test1\test1\test1dlg.cpp(196): error C2664: “CListBox::AddString”: 不能将参数 1 从“const char [13]”转换为“LPCTSTR”
1>          与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换

以上错误的发生

// TODO: 在此添加控件通知处理程序代码
	//连接服务器
	BYTE nField[4];
	CString sIP;
	UpdateData();
	m_ServerIP.GetAddress(nField[0], nField[1],nField[2],nField[3]);
	sIP.Format("%d.%d.%d.%d", nField[0], nField[1],nField[2],nField[3]);

多字节字符集,所以LPTSTR是char*而不是wchar_t*
求长度用的是strlen不是wcslen
 

字符集设置,使用Unicode自负自,改为使用多字节字符集

1>d:\lianxi20160303\sockettest\test1\test1\clientsocket.cpp(35): error C2664: “CListBox::SetTopIndex”: 不能将参数 1 从“Ctest1Dlg *”转换为“int”
1>          没有使该转换得以执行的上下文
1>d:\lianxi20160303\sockettest\test1\test1\clientsocket.cpp(35): error C2227: “->m_ListWords”的左边必须指向类/结构/联合/泛型类型
1>d:\lianxi20160303\sockettest\test1\test1\clientsocket.cpp(35): error C2228: “.GetCount”的左边必须有类/结构/联合
1>d:\lianxi20160303\sockettest\test1\test1\clientsocket.cpp(35): error C2059: 语法错误:“)”
1>

这些问题,只是因为程序中少了一个括号


void CClientSocket::OnConnect(int nErrorCode)
{
	// TODO: 在此添加专用代码和/或调用基类
//#include "test1Dlg.h"
	if(nErrorCode)
	{
		AfxMessageBox("连接失败,请您重试");
		return ;
	}
	((Ctest1Dlg*) (AfxGetApp()->m_pMainWnd))->m_ListWords.AddString("连接服务器成功");

	((Ctest1Dlg*) (AfxGetApp()->m_pMainWnd))->m_ListWords.SetTopIndex( ((Ctest1Dlg*)(AfxGetApp()->m_pMainWnd))->m_ListWords.GetCount()-1);

	CAsyncSocket::OnConnect(nErrorCode);
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值