181427 随手记

Winsock与C++编程技巧
1. WSADATA

  这个结构被用来存储 被WSAStartup函数调用后返回的 Windows Sockets数据。它包含Winsock.dll执行的数据。

       具体介绍参见WSADATA

2.函数调用问题

    定义了一个确认响应数据函数:

    int chk_rsp_data(int rlen, char*sbuf, char*rbuf)

    在调用的时候,必须这样调用rc = chk_rsp_data((int)rlen, (char*)sBuf, (char*)rbuf); 就是类型必须用()括住,

    rc = chk_rsp_data(int rlen, char* sBuf, char*rbuf);这样报错:不允许使用类型名

    rc = chk_rsp_data(rlen,sBuf,rbuf);这样也不会报错

    rc = chk_rsp_data(rlen, (char*)sBuf, (char*)rbuf); 这样也不报错

    关于函数的调用,需要再学学

3.int转CString类型

   int rc; CString strMsg

   strMsg.Format("%d", rc);  报错:没有与参数列表匹配的 重载函数

   解决:

   strMsg.Format(_T("%d"), rc);

   解释:

          注意字符(串)有两种类型,char(*)和wchar_t(*)型,分别用于多字节字符和unicode字符,两种类型分别有一套对应的字符串处理函数(包括C/C++标准库,WindowsAPI,MFC等)。MFC的类和函数会根据工程设置(默认为wchar_t)自动匹配,因此这时Format要求的字符串参数为wchar_t*,所以要在字符串前加上“L”表示是wchar_t型字符串,或者加上_T(),_T同样会根据工程设置自动匹配char或wchar_t。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值