Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Архив форумов ЦИТФорума
Море(!) вопросов - Море(!) ответов
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Как правильно задавать вопросы

gethostbyname();

 
Перейти:  
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование
Предыдущая тема :: Следующая тема  
Автор Сообщение
Zak



Зарегистрирован: 04.12.2004
Сообщения: 2

СообщениеДобавлено: Сб Дек 04 2004 17:29    Заголовок сообщения: gethostbyname(); Ответить с цитатой

Приветствую.предупредю сразу что я ламер,как в С++,так и в программированнии в цeлом....так что если кто-то возьмеца /на что я очень надеюсь/ ,то пожалуйста поясните как для децкого сада....
Ну вобщем от слов к делу.Задумка проста как апельсин.прога должна показывать мой айпи.Усе
Вычитал что для этого используется функция WinAPI gethostbyname();
И тут собсно....тупик
http://www.realcoding.net/article2326.html пишут
"Все мы когда-то начинали программирование в сети с простой операции определения IP адреса, принадлежащему нашему компьютеру. Задав такой вопрос в форуме, мы обычно получали очень короткий ответ: Используй gethostbyname() для "localhost". "
Вот терь вопрос...А как?=)
==
p.S: доков по теме почему то никаких не нашел...может искал плохо
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Andy_user



Зарегистрирован: 03.12.2003
Сообщения: 382
Откуда: Санкт-Петербург

СообщениеДобавлено: Вс Дек 05 2004 21:19    Заголовок сообщения: Ответить с цитатой

Попробуйте поковыряться с этой программой:
//---
#include <stdio.h>
#include <winsock.h>
#define WINSOCK_VERSION 0x0101
#define HOST_NAME "localhost"
//#define HOST_NAME "home"
//-----
int main(int argc, char* argv[])
{
WSADATA WsaData;
LPHOSTENT lpHostEnt;
int Err;
LPSTR szIPAddr;
unsigned char * * pointer;
int i;
Err = WSAStartup( WINSOCK_VERSION, &WsaData );
if (Err != 0){ // Error
printf("Error of WSAStartup\n");
getchar();
return 0;
}
else {
printf("WSAStartup - Good\n");
lpHostEnt = gethostbyname(HOST_NAME);
if (lpHostEnt == NULL) {
printf("Error of gethostbyname\n");
getchar();
return 0;
}
else {
printf("gethostbyname - Good\n");
// переменная lpHostEnt - указатель на
// struct hostent {
// char FAR * h_name;
// char FAR * FAR * h_aliases;
// short h_addrtype;
// short h_length;
// char FAR * FAR * h_addr_list;
// };
printf("%s\n", lpHostEnt->h_name); // имя компа
printf("%d\n", lpHostEnt->h_addrtype); // addrtype
printf("%d\n", lpHostEnt->h_length); // length
pointer = lpHostEnt->h_addr_list;
while ( (*pointer) != NULL) {
for (i=0;i<4;i++) {
printf("%d ", *( *(pointer)+i )); //
};
printf("\n");
pointer= pointer+1;
}; // End of while
};
Err = WSACleanup();
if (Err != 0){ // Error
printf("Error of WSACleanup\n");
getchar();
return 0;
}
else {
printf("WSACleanup - Good\n");
getchar();
return 0;
};
};
}
_________________
Знание принципов компенсирует незнание фактов.


Последний раз редактировалось: Andy_user (Пн Дек 06 2004 12:06), всего редактировалось 1 раз
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Zak



Зарегистрирован: 04.12.2004
Сообщения: 2

СообщениеДобавлено: Вс Дек 05 2004 22:10    Заголовок сообщения: Ответить с цитатой

thnx a lot Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Andy_user



Зарегистрирован: 03.12.2003
Сообщения: 382
Откуда: Санкт-Петербург

СообщениеДобавлено: Пн Дек 06 2004 10:13    Заголовок сообщения: Ответить с цитатой

Дополнительно:
http://club.shelek.ru/viewart.php?id=36
---
Кстати, когда я употребил термин "поковыряться", надеюсь, Вы поняли, что программка-пример далека до совершенства и по большому счету не совсем верна. Попробуйте разобраться в конструкции типа "указатель на массив указателей"...
_________________
Знание принципов компенсирует незнание фактов.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2002 phpBB Group
Русская поддержка phpBB

 

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 6608306, ICQ 232284597
Пресс-релизы — pr@citforum.ru
Послать комментарий
Информация для авторов
This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2006 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...