Эта функция конвертирует строку в значение, которое можно использовать в структуре in_addr:
unsigned long inet_addr ( const char FAR *cp );
Передается этой функции строка, которая содержит IP адрес в формате интернет (например, 123.23.45.89)
Если все нормально inet_addr() возвращает значение типа long, содержащее двоичное представление данного адреса интернета. В случае ошибки вам вернется INADDR_NONE:
#include "stdafx.h" #include "iostream.h" #include "winsock.h" #pragma comment(lib,"wsock32.lib") void main() { unsigned long adr1; unsigned long adr2; adr1=inet_addr("124.23.45.67"); adr2=inet_addr("as.34.34.56"); if (adr1!=INADDR_NONE) cout << " adr1 correct" << endl; else cout << " adr1 incorect " << endl; if (adr2!=INADDR_NONE) cout << " adr2 correct" << endl; else cout << " adr2 incorect" << endl; }
А вот результат работы:
adr1 correct adr2 incorect Press any key to continue
Константа некорректности адреса определена в winsock.h как:
#define INADDR_NONE 0xffffffff