这个结构被用来存储 被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。