問題描述
C++編寫socket伺服器程式,綁定嵌套字時
//綁定套接字
sockaddr_in sockAddr;
memset(&sockAddr, 0, sizeof(sockAddr));
sockAddr.sin_family = PF_INET;
sockAddr.sin_addr.s_addr = inet_addr("127.0.0.1");
sockAddr.sin_port = htons(1234);
bind(serSock, (SOCKADDR*)&sockAddr, sizeof(SOCKADDR));
程式報錯:
error C4996: 'inet_addr': Use inet_pton() or InetPton() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings
根據錯誤提示資訊進行修改
問題解決
解決辦法1:屏蔽警告資訊
在include<>包含頭檔案之後加入 #pragma warning(disable:4996)
解決方法2:
在include<>包含頭檔案之前加入:#define _WINSOCK_DEPRECATED_NO_WARNINGS
參考部落格:VS2015套接字程式設計時error C4996錯誤處理