Ich muss feststellen, ob eine bestimmte Zeichenfolge ein gültiges IPv4- oder IPv6-Adressliteral ist. Wenn ich das richtig verstanden habe, ist der richtige Weg, dies auf POSIX-Systemen zu tun, die Verwendung inet_pton
, um es in eine Netzwerkadressstruktur zu konvertieren und zu sehen, ob es erfolgreich ist. Windows Vista und später haben InetPton
, die im Wesentlichen das gleiche tut. Aber soweit ich das beurteilen kann, deklariert Windows XP keines von beiden, und ich muss das unter XP richtig machen können. Die Frage ist also, welche Systemfunktion dafür verwendet werden soll.Was ist das Windows XP-Äquivalent von inet_pton oder InetPton?
Im schlimmsten Fall kann ich eine Funktion schreiben, um es selbst zu analysieren, aber ich würde eine Standard-Systemfunktion bevorzugen, die daher gründlich getestet wurde und richtig alle Ecken Fälle behandelt und was nicht. Es ist schon schlimm genug, dass Microsoft nicht wie alle anderen nur inet_pton
deklarieren konnte und ging mit InetPton
für ihre neueren Betriebssysteme.
Versuchen Sie [WSAAddressToString] (http://msdn.microsoft.com/en-us/library/windows/desktop/ms741516 (v = vs.85) .aspx) – soulseekah