- #include <winsock2.h>
- #include <iostream>
- #pragma comment(lib,"ws2_32.lib")
- using namespace std;
- int main()
- {
- WSADATA wsaData;
- int err;
- WORD wVer;
- wVer = MAKEWORD(1000, 1000);
- err = WSAStartup(wVer, &wsaData);
- cout << wsaData.wVersion << "." << wsaData.wHighVersion << endl;
- return 0;
- }
WSAStartup函数的第一个参数是加载WinSock库的版本,WSAStartup函数的第二个参数中设置使用的WinSock库的版本,当正确初始化时,WSAStartup会返回0。但我在WSAStartup函数的第一个参数中胡乱设置了一个版本号,WSAStartup仍然会返回0。
最后经测试发现,如果在WSAStartup函数第一个参数中设置的版本号不存在,那么会自动使用WinSock库中最低的版本1.1。