大家好啊,第一次来呵呵
我用的是VC++2005,毕业设计现在想做一个端口和漏洞的扫描器,查阅了相关代码写了点,可是提示错误,我水平太菜了,也找不到那里的问题,希望各位有时间的帮我看一下,出错地方和提示信息帖到下面,谢谢了先 if(connect(sock,(LPSOCKADDR)&sockAddr,sizeof(sockAddr)) == 0)
{
// 连接成功
CTime tm = CTime::GetCurrentTime();
[red]str.Format("%s 端口 %d 连接成功 -时间 %d:%d:%d",szIp,dwPort,tm.GetHour(),tm.GetMinute(),tm.GetSecond());[/red]

}
else
{
// 连接失败
CTime tm = CTime::GetCurrentTime();
[red]str.Format("%s 端口 %d 连接失败 -时间 %d:%d:%d",szIp,dwPort,tm.GetHour(),tm.GetMinute(),tm.GetSecond());[/red]
}
//出错提示信息
error C2664: “void ATL::CStringT<BaseType,StringTraits>::Format(const wchar_t *,...)”: 不能将参数 1 从“const char [35]”转换为“const wchar_t *”
        with
        [
            BaseType=wchar_t,
            StringTraits=StrTraitMFC_DLL<wchar_t>
        ]
        与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换

解决方案 »

  1.   

    不知道是不是字符集的问题~~改成这样试试
    str.Format(_T("%s 端口 %d 连接成功 -时间 %d:%d:%d"),szIp,dwPort,tm.GetHour(),tm.GetMinute(),tm.GetSecond());
      

  2.   

    错误提示
    ConnectScanDlg.obj : error LNK2001: 无法解析的外部符号 "public: void __thiscall CConnectScanDlg::OnEnChangeEdit1(void)" (?OnEnChangeEdit1@CConnectScanDlg@@QAEXXZ)
    ConnectScanDlg.obj : error LNK2001: 无法解析的外部符号 "public: void __thiscall CConnectScanDlg::OnIpnFieldchangedIpaddress2(struct tagNMHDR *,long *)" (?OnIpnFieldchangedIpaddress2@CConnectScanDlg@@QAEXPAUtagNMHDR@@PAJ@Z)
    ConnectScanDlg.obj : error LNK2001: 无法解析的外部符号 "public: void __thiscall CConnectScanDlg::OnIpnFieldchangedIpaddress1(struct tagNMHDR *,long *)" (?OnIpnFieldchangedIpaddress1@CConnectScanDlg@@QAEXPAUtagNMHDR@@PAJ@Z)
    C:\Documents and Settings\DanDan\My Documents\Visual Studio 2005\Projects\ConnectScan\Debug\ConnectScan.exe : fatal error LNK1120: 3 个无法解析的外部命令
    生成日志保存在“file://c:\Documents and Settings\DanDan\My Documents\Visual Studio 2005\Projects\ConnectScan\ConnectScan\Debug\BuildLog.htm”
    ConnectScan - 4 个错误,0 个警告
    ========== 生成: 0 已成功, 1 已失败, 0 最新, 0 已跳过 ==========
      

  3.   

    {red]str.Format("%s 端口 %d 连接成功 -时间 %d:%d:%d",szIp.GetBuffer(0),dwPort,tm.GetHour(),tm.GetMinute(),tm.GetSecond());
    现在是一下
      

  4.   

    你把工程属性里面  配置属性=>常规=》字符集 “使用unicode字符集”改成未设置,不用unicode就可以了