Ping en C

Résolu/Fermé
jfs Messages postés 21 Date d'inscription mardi 24 octobre 2000 Statut Membre Dernière intervention 8 juin 2005 - 1 mai 2005 à 20:49
 anasre - 28 déc. 2008 à 17:39
Bonjour,

Je dois réaliser un programme de ping en C. En fait, les adresse à pinguer sont à lire dans un fichier.
Mon progr les lit, les pingue et les retransfère les pings dans un fichier 2. C'est là qu'est le probl car j'aimerais que seules les adr ip restees sans reponse soient transferees dans le fichier 2.Malheureusement je ne sais vraiment pas comment faire. Si vous aviez une idee, ce serait super sympa. Suis debutant en C.

#include <winsock.h> 
#include <stdio.h> 
#include <stdlib.h> 
#include <stdio.h> 
#include <conio.h> 
#define p 512 
#define ping "ping" 
int main() 
{ 
FILE *fichier; 
FILE *fichier2; 
char n[250], v[250]; 
char commande [p] ; 
fichier = fopen ("fichier.txt","rt"); 
fscanf(fichier, "%s\n%s\n",&n,&v); 
int atoi(char *n); 
int atoi(char *v); 
strcpy(commande, "ping "); 
strcat(commande, n); 
strcat(commande, "> fichier2.txt"); 
system (commande); 
strcpy(commande, "ping "); 
strcat(commande, v); 
strcat(commande, "> fichier2.txt"); 
system (commande); 
fclose (fichier); 
fclose (fichier2); 
exit (0); 
}

15 réponses

Un tout grand merci à toi. Finalement j'y suis arrivé (du moins 1 partie). Voici le code :


#include <winsock.h>
#include <stdio.h>
#include <stdlib.h>
#include <stdio.h>
#include <signal.h>
#include <conio.h>
#define p 512
int main()
{
FILE *fichier;
FILE *fichier2;
char n;
char commande [p] ;

fichier = fopen ("fichier.txt","r");
fichier2 = fopen ("fichier2.txt", "w");

fscanf(fichier, "%s\n",&n);

int atoi(char *n);

strcpy(commande, "ping ");
strcat(commande, &n);

int ret = system (commande);


if (ret==1)
{
fprintf (fichier2, "%s\n", &n);
}
system ("pause");
return 0;



Maintenant c'est au moment ou je lui dis de lire les 2 adr qu'il merde :


#include <stdio.h>
#include <stdlib.h>
#include <stdio.h>
#include <signal.h>
#include <conio.h>
#define p 512
int main()
{
FILE *fichier;
FILE *fichier2;
char n, v;
char commande [p] ;

fichier = fopen ("fichier.txt","r");
fichier2 = fopen ("fichier2.txt", "w");

fscanf(fichier, "%s\n%s\n",&n,&v);

int atoi(char *n);
int atoi(char *v);


strcpy(commande, "ping ");
strcat(commande, &n);

int ret = system (commande);
if (ret==1)
{
fprintf (fichier2, "%s\n", &n);
}

strcpy(commande, "ping ");
strcat(commande, &v);

int ret = system (commande);
if (ret==1)
{
fprintf (fichier2, "%s\n", &v);
}
system ("pause");
return 0;

}

                
2