以下是Connect函数定义
BOOL Connect(
  LPCTSTR lpszHostAddress,
  UINT nHostPort
);
MSDN上对于参数的解释是这样的:
lpszHostAddress
   The network address of the socket to which this object is connected: a machine name such as "ftp.microsoft.com", or a dotted number such as "128.56.22.8".
结果这样写  1    CSocket sockClient;
  2    sockClient.Create();
  3    sockClient.Connect("127.0.0.1",3306);就会提示我  1    BOOL CAsyncSocket::Connect(LPCTSTR,UINT)”:
  2    不能将参数 1 从“const char [10]”转换为“LPCTSTR
真心纠结了。。怎么办呢?

解决方案 »

  1.   

    sockClient.Connect(_T("127.0.0.1"),3306);
    编码问题,
    LZ以前一直在用VC6么?
      

  2.   

    T_T 其实以前没有用过这些东西啊。。咱原来都是写java的,但是这个作业要用C++,所以相当纠结。。
    想把原来弄的一个端口扫描改成C++的就去MSDN找CSocket 类,结果老是出问题。开启MySQL服务后的
    sockClient.Connect()函数返回值还是false。。觉得好奇怪啊。。
      

  3.   

    的确如2楼所说,编码问题。
    2楼提出一种解决方法,还有一种,就是在项目的属性中,设置Character Set为Use Multi-byte character set。
    端口连接不成功,要了解原因,你可以使用GetLastError()来获得错误码,从而判断问题出在哪儿。