Шаг 17 - Функция inet_addr()

Эта функция конвертирует строку в значение, которое можно использовать в структуре 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

Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 11.02.2001