Récupération adresse IP de ma Passerelle en C - C - Programmation
Marsh Posté le 11-07-2018 à 12:50:00
ReplyMarsh Posté le 11-07-2018 à 13:02:17
Bonjour,
j'ai essayé d'adapter le code proposé mais c'est du C++ et je suis en C. J'ai un max d'erreurs de compil ...
Marsh Posté le 11-07-2018 à 13:13:55
Le code est indiqué comme étant du C++ mais c'est du C. Si t'as des erreurs faut nous dire lesquels et montrer ton code si tu veux de l'aide (et nous dire quel compilateur tu utilises). Sinon tu n'es pas obligé de reprendre ce long exemple, si je vois bien pour récupérer juste une info c'est beaucoup plus court. Je peux pas tester, je suis sous Linux.
Marsh Posté le 11-07-2018 à 13:23:28
Le ode est le suivant :
#include<winsock2.h>
#include<Iphlpapi.h>
#include<stdio.h>
#pragma comment(lib,"Iphlpapi.lib" )
int main()
{
PIP_ADAPTER_INFO pAdapterInfo;
PIP_ADAPTER_INFO pAdapter = NULL;
DWORD dwRetVal = 0;
ULONG ulOutBufLen;
pAdapterInfo=(PIP_ADAPTER_INFO)malloc(sizeof(IP_ADAPTER_INFO));
ulOutBufLen = sizeof(IP_ADAPTER_INFO);
if (GetAdaptersInfo( pAdapterInfo, &ulOutBufLen) == ERROR_BUFFER_OVERFLOW)
{
free(pAdapterInfo);
pAdapterInfo = (IP_ADAPTER_INFO *) malloc (ulOutBufLen);
}
if ((dwRetVal = GetAdaptersInfo( pAdapterInfo, &ulOutBufLen)) == NO_ERROR) {
pAdapter = pAdapterInfo;
while (pAdapter)
{
printf("Gateway: \t%s\n", pAdapter->GatewayList.IpAddress.String);
pAdapter = pAdapter->Next;
}
}
else
{
printf("Call to GetAdaptersInfo failed.\n" );
}
}
Le message à la compilation est :
Undefined reference to "GetAdaptersInfo@8"
Merci à vous pour votre aide.
Marsh Posté le 11-07-2018 à 13:26:20
filibert33 a écrit : Undefined reference to "GetAdaptersInfo@8" |
erreur du Linker, faut lui donner la bonne bibliothèque, apparemment Iphlpapi.lib. Si tu utilises GCC le pragma n'aura aucun effet, c'est prévu pour le compilateur MS. Il faut regarder dans les options de ton IDE ou modifier l'appel en ligne de commande. Sans plus d'infos impossible d'être plus concrèt.
Marsh Posté le 11-07-2018 à 13:30:01
Ok je regarde comment je peux faire sous codeblock pour déclarer la bonne librairie
Marsh Posté le 11-07-2018 à 13:33:44
Je viens de déclarer la librairie dans mon IDE ...et là ... ca va beaucoup mieux !!! Un grand merci pour votre aide.
Excellente après-midi.
Marsh Posté le 11-07-2018 à 12:42:54
Bonjour,
Je souhaite faire un programme en C qui mer permette de récupérer l'adresse IP de ma passerelle sur une machine windows sans aller lire l'adresse dans un fihcier.txt qui serait généré par un ipconfig>config.txt par exemple.
Si vous avez des pistes je suis preneur. Je n'ai rien trouver sur le net sur ce sujet mais j'ai certainement mal cherché.
Merci de vos retours
JM