天天看點

C++ 編譯出錯error:C4996問題描述問題解決

問題描述

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錯誤處理