一、WSAStartup函数
WSAStartup 是 Windows 套接字 API 中的一个函数,它用于初始化 Winsock 库,这是 Windows 中用于网络编程的库。使用 Winsock,您可以创建客户端和服务器应用程序,以便它们能够通过网络进行通信。
函数的原型如下:
int WSAStartup( WORD wVersionRequested, LPWSADATA lpWSAData );
参数说明:
wVersionRequested:指定要使用的 Winsock 版本,通常使用MAKEWORD(majorVersion, minorVersion)来设置。例如,要使用版本 2.2,您可以使用MAKEWORD(2, 2)。lpWSAData:指向WSADATA结构的指针,用于接收关于 Winsock 初始化的信息。
函数返回值:
- 如果函数成功初始化 Winsock 库,它将返回 0。
- 如果发生错误,它将返回一个错误代码
错误码:

注意:在使用 Winsock 库中的其他函数之前,必须调用 WSAStartup 来初始化库,而且在应用程序退出时调用 WSACleanup 来释放相关资源。
示例代码:
#include <WinSock2.h>
#include <stdio.h>
#pragma comment(lib, "ws2_32.lib")
int main() {
WSADATA wsaData; // 创建一个 WSADATA 结构
// 初始化 Winsock 库,指定要使用的版本
int ret = WSAStartup(MAKEWORD(1, 2), &wsaData);
if (ret != 0) {
printf("WSAStartup 失败,错误码: %d\n", ret);
return 0;
}
// 在这里进行网络编程操作
// 当您的程序完成网络编程后,确保调用 WSACleanup 来释放 Winsock 资源
WSACleanup();
return 1;
}