Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - trovare l'ip in C
Forum - C/C++ - trovare l'ip in C

Avatar
aitsu01 (Normal User)
Rookie


Messaggi: 28
Iscritto: 03/10/2007

Segnala al moderatore
Postato alle 9:34
Giovedì, 18/09/2008
Salve ragazzi,
come posso trovare l'ip remoto del mio pc in linguaggio C?

PM Quote
Avatar
WARRIOR (Ex-Member)
Guru


Messaggi: 627
Iscritto: 30/03/2007

Segnala al moderatore
Postato alle 17:44
Giovedì, 18/09/2008
Potresti collegarti a qualche sito tipo myip (mi sembra si chiami cosi), scaricare la pagina ed estrarlo da li (dal titolo della pagina), oppure non so, lanciare un comando DOS (ipconfig) che ti scriva su file le informazioni. :k:


Continuerò a correre, perchè ci sarà sempre qualcuno migliore di me.

Evvia i libri, evitate gli stolti che non li integrano nella loro vita.

http://www.mentisferiche.it

Luca Tedesco
PM Quote
Avatar
pierotofy (Admin)
Guru^2


Messaggi: 6112
Iscritto: 04/12/2003

Segnala al moderatore
Postato alle 10:59
Venerdì, 19/09/2008
In C ANSI non si può... usando le socket di C++ si... un modulo di Beatrix lo fa: http://www.pierotofy.it/pages/sorgenti/browse/15651/1499/

Anche se potrebbe non funzionare, è stato collaudato diversi anni fa e il sito di riferimento potrebbe essere cambiato.


Seguimi su Twitter: http://www.twitter.com/pierotofy

Fai quello che ti piace, e fallo bene.
PM Quote
Avatar
aitsu01 (Normal User)
Rookie


Messaggi: 28
Iscritto: 03/10/2007

Segnala al moderatore
Postato alle 13:15
Venerdì, 19/09/2008
grazie per la vostra risposta.
si avevi ragione con il C non si puo.
ho trovato questo codice che lo fa ma mida solo il mio indirizzo LAN ho compilato questo codice con DEV C++



//inizio codice**********************************

#include <windows.h>
#include <winsock.h>
#include <stdio.h>

char *BinIP2StrIP ( long lnIP)
{
static char s_acStrIP [ 16];

PUCHAR puc = ( unsigned char *) &lnIP;
unsigned int aun [ 4];

for ( int i = 0; i < 4; aun [ i++] = *puc++);

sprintf ( s_acStrIP, "%d.%d.%d.%d", aun [ 0], aun [ 1], aun [ 2], aun [ 3]);

return ( s_acStrIP);
}

char* GetIpAddress()
{

char acClientHost[255];
WORD wVersionRequested;
WSADATA wsaData;
struct hostent *pHostent = NULL;
int nErr = 0;

wVersionRequested = MAKEWORD( 1, 1);

if ( nErr = WSAStartup ( wVersionRequested, &wsaData))
{
  // error initializing winsck...
}

if  (   nErr =   gethostname (   ( char *) acClientHost, sizeof(acClientHost)))
{
     return  NULL;
}

if (!(pHostent = gethostbyname ( acClientHost)))
{
// an error occured...
  return NULL;
}

return BinIP2StrIP ( *(( long *)  pHostent->h_addr));
}

int main ()
{
  printf("IPAddr: %s\n", GetIpAddress());

  return 0;
}

//fine codice***********************************

potete anche provarlo voi fatemi sapere
saluti

PM Quote