Bonjour,
je n'arrive pas a recuperer l'ip sur le reseau de ma machine, j'ai bien essayé avec getshostname/gethostbyname mais je recupere l'addresse "127.0.1.1" mais ce que je recherche a obtenir c'est l'addresse qui apparait lorsque je fais un ifconfig sur mon eth0 ("172.16.0.17"), comment faire ?

voici ce que j'ai fais jusqu'ici :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
char *hostName;
  hostName = malloc(sizeof(HOST_NAME_MAX));  
  gethostname(hostName, HOST_NAME_MAX);
  struct hostent *pHost;
  pHost = gethostbyname(hostName);
  if (!pHost)
    {
      perror("gethostbyname");
      exit (-1);
    }
  int i;
  for (i = 0; pHost->h_addr_list[i] != 0; ++i)
    {
      struct in_addr addr;
      memcpy(&addr, pHost->h_addr_list[i], sizeof(struct in_addr));
      printf("%s\n", inet_ntoa(addr));
    }