'inet_addr': Verwenden Sie stattdessen inet_pton () oder InetPton () oder definieren Sie _WINSOCK_DEPRECATED_NO_WARNINGS

8

Ich verwende Visual Studio 2015 und versuche, Code zu kompilieren, der funktioniert hat, bevor ich von VS 2013 aktualisiert habe.

'inet_addr': Verwenden Sie stattdessen inet_pton () oder InetPton () oder definieren Sie _WINSOCK_DEPRECATED_NO_WARNINGS

%Vor%

Ich habe versucht, die genannten Funktionen zu verwenden, aber sie waren nicht definiert. Ich habe versucht, das Makro an vielen verschiedenen Stellen zu definieren, aber es ist nichts passiert. Ein anderer Thread sagte, dass ich Ws2tcpip.h anstelle von WinSock2 & amp; füge Ws2_32.lib hinzu. Ich habe bereits die Bibliothek hinzugefügt, und als ich das Include benutzte, passierte nichts. Was ist los?!

    
The Count 18.04.2016, 00:37
quelle

4 Antworten

8

Die IP-Zeichenfolge kann in die Struktur in_addr konvertiert werden mit der Funktion InetPton . Es wird so verwendet:

%Vor%

Sie müssen die Header-Datei "Ws2tcpip.h" hinzufügen, verwenden Sie die Bibliothek "Ws2_32.lib" und DLL "Ws2_32.dll".

    
Florian Haupt 18.04.2016, 09:07
quelle
3

Sie können versuchen

#pragma Warnung (deaktivieren: 4996)

für die Verwendung von inet_addr ().

    
Razin Bashar 19.04.2017 05:34
quelle
3

Nur um die Konvertierung zu verdeutlichen. Nehmen wir an, Sie haben Code, der den veralteten inet_addr verwendet wie in diesem Beispiel:

%Vor%

Es könnte wie folgt in das neuere InetPton konvertiert werden :

%Vor%

Das Makro _T verhindert, dass das Zeichen const mit PCWSTR inkompatibel ist "Fehler.

    
Nagev 20.11.2017 17:20
quelle
0

Stellen Sie sicher, dass Sie _WINSOCK_DEPRECATED_NO_WARNINGS vor dem gesamten Include definieren.

    
J CH 26.05.2016 11:23
quelle

Tags und Links