bonjour
je suis entrain de faire un petit programme en c++ qui écris dans un fichier des information udp (nombre de paquets perdus et reçus... etc.) j'utilise le header iphlpapi, le problème c'est que quand j'utilise le iphlpapi.h fourni avec le sdsk ça me donne des erreurs mais quand j'utilise une autre version de iphlpapi.h que j'ai trouvé sur internet ça se compile mais à l'exécution le programme ne me donne pas le résultat réel, juste un entier très grand 35333655
voici le code


Code C++ : 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
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include <stdio.h>
#include <winsock2.h>
#include <iphlpapi.h>
#include <iostream>
#include <fstream>
using namespace std;
 
typedef struct _MIB_UDPSTATS {
  DWORD dwInDatagrams;
  DWORD dwNoPorts;
  DWORD dwInErrors;
  DWORD dwOutDatagrams;
  DWORD dwNumAddrs;
} MIB_UDPSTATS, *PMIB_UDPSTATS;
 
int main()
{		  
 MIB_UDPSTATS udpstats;
 ofstream fichier("resultat.txt",ios::out|ios::trunc);
 
// if (GetUdpStatistics(&udpstats)==NOERROR) {
 
 if(fichier){
   fichier<<"Nombre de datagrammes recus                                   :"<<udpstats.dwInDatagrams<<endl;	//. 
   fichier<<"Nombre de datagrammes recus à un port sans service.(rejetées) :"<<udpstats.dwNoPorts<<endl;	 // 
   fichier<<"Nombre d'erreurs de saisie                                    :"<<udpstats.dwInErrors<<endl;//. 
 
   fichier<<"Nombre de datagrammes de sortie.                              :"<<udpstats.dwOutDatagrams<<endl;//
   fichier<<"Nombre d'entrées en UDP auditeur tableau                      :"<<udpstats.dwNumAddrs<<endl;
 
 
 
 fichier.close();}
 else
	 cout <<"erreru"<<endl;
/*}
 else 
	 fichier<<"GetUdpStatistics failed :"<<GetLastError()<<endl;
	 */
 
 
 return 0;
}