Bonjour , j'aimerais récupérer le status d'un ping dans le cadre d'une classe outil réseaux.

J'envoie un ping et je regarde si un pong arrive.
Pour cela , je copie le flux dans un fichier que je lis après pour voir s'il contient perdus=1.

Mais ca n'arrive pas à voir ça:

En fait c'est du cpp mais c'est pratiquement uniquement des fonctions C.
A par le > .

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
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
44
     #include <stdio.h>
     #include <stdlib.h>
     #include <string.h>
 
     int ping (char ip[50]);
 
     int main (void)
     {
     int result;
     char ip[50];
 
 
 
     strcpy (ip,"192.168.0.99");
     result = ping (ip);
     printf ("0 pour offline, 1 pour online : %d",result);
     getchar();
     }
 
     int ping (char ip[50])
    {
     int result = 1;
     char commande[100];
     strcpy (commande,"ping ");
     strcat (commande,ip);
     strcat (commande, " -n 1: -w 200 > temp");
     system(commande);
     FILE * temp;
     temp = fopen ("temp","r");
     char test[50];
     while (!feof (temp))
     {
         fscanf (temp,"%s",test);
         // test correspond à la chaine perdus=1
         if (strcmp (test,"perdus=1") == 0   )
         {
            return 0;
         }
         printf("%s",test);
 
     }
     fclose(temp);
     return result;
     }
merci pour votre aide.