Należy ustalić, czy określony ciąg znaków jest prawidłowym literałem adresu IPv4 lub IPv6. Jeśli dobrze rozumiem, prawidłowym sposobem na to w systemach POSIX jest użycie inet_pton
, aby przekonwertować go na strukturę adresów sieciowych i sprawdzić, czy się uda. Windows Vista i nowsze mają InetPton
, co w zasadzie to samo. Ale o ile mogę powiedzieć, Windows XP nie deklaruje żadnej z nich, i muszę to zrobić poprawnie na XP. Tak więc pytanie brzmi, jaką funkcję systemową użyć, aby to zrobić?Co to jest odpowiednik systemu Windows XP inet_pton lub InetPton?
W najgorszym przypadku mogę napisać funkcję do samodzielnego analizowania, ale wolałbym standardową funkcję systemu, która została w związku z tym dokładnie przetestowana i odpowiednio obsługuje wszystkie przypadki narożne i inne. Już wystarczająco źle, że Microsoft nie mógł po prostu zadeklarować inet_pton
, tak jak wszyscy inni, i udał się z InetPton
dla swoich nowszych systemów operacyjnych.
Spróbuj [WSAAddressToString] (http://msdn.microsoft.com/en-us/library/windows/desktop/ms741516 (v = vs.85) .aspx) – soulseekah