Ping en C

jfs Messages postés 21 Date d'inscription mardi 24 octobre 2000 Statut Membre Dernière intervention 8 juin 2005 - 28 avril 2005 à 10:43
jfs Messages postés 21 Date d'inscription mardi 24 octobre 2000 Statut Membre Dernière intervention 8 juin 2005 - 29 avril 2005 à 11:58
Bonjour à tous,

je débute en C et je dois faire un progr qui pingue des adresses présentes dans un fichier et que celles qui ne repondent pas se mettent dans un fichier n° 2.
Pour l'instant, j'ai juste pu créer un progr qui fasse un ping sur une adresse déterminée. Le voici :
#include <winsock.h>
#include <stdio.h>
#include <stdlib.h>
#include <stdio.h>
#include <signal.h>
#include <conio.h>
#define p 512
#define ping "ping"


int main()
{
char commande [p] ;


strcpy(commande, "ping ");
strcat(commande, "127.0.0.1");

system(commande);
getch ();
return 0;


}

Si vous avez une idée pour me donner une piste car je débute vraiment.

6 réponses

cs_Arnotic Messages postés 933 Date d'inscription dimanche 1 avril 2001 Statut Membre Dernière intervention 9 janvier 2012
28 avril 2005 à 11:02
Bonjour,

Une petite recherche sur le site et tu trouves de très bonnes sources concernant les ping :
http://www.cppfrance.com/gma/ping
résultat de la recherche :
http://www.cppfrance.com/code.aspx?ID=11216

@+
Arnotic,
Admin CS, MVP Visual C++
0
jfs Messages postés 21 Date d'inscription mardi 24 octobre 2000 Statut Membre Dernière intervention 8 juin 2005
28 avril 2005 à 11:10
Merci d'avoir repondu si vite mais il y a un petit hic. L'adresse ip doit être lue dans un fichier et si le ping echoue, elle doit être exportée vers un fichier n° 2.
0
cs_Arnotic Messages postés 933 Date d'inscription dimanche 1 avril 2001 Statut Membre Dernière intervention 9 janvier 2012
28 avril 2005 à 11:38
Je ne vois pas le problème.
Il suffit de lire le fichier pour récupérer l'adresse IP à tester. Et suivant le résultat du ping alors tu exportes ou non.

@+
Arnotic,
Admin CS, MVP Visual C++
0
cs_0xYg3n3 Messages postés 115 Date d'inscription mardi 1 février 2005 Statut Membre Dernière intervention 8 octobre 2007
28 avril 2005 à 14:04
Pour voir le resultat du ping redirige la sortie standard sur un fichier texte

Exemple : "ping 127.0.0.1 < fichier_temporaire.txt"

Et ensuite tu analyses le fichier_temporaire pour determiner si le ping a reussi
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jfs Messages postés 21 Date d'inscription mardi 24 octobre 2000 Statut Membre Dernière intervention 8 juin 2005
28 avril 2005 à 14:10
Merci d'avoir repondu.

ça va, j'ai un peu avancé et le ping fonctionne puis les adresses vont sur un autre fichier texte. Malheureusement, toutes les adresses y vont mm celles qui n'ont pas de réponse...

Comment fais-tu pour analyser le fichier texte pour determiner si le ping est ok ?
0
jfs Messages postés 21 Date d'inscription mardi 24 octobre 2000 Statut Membre Dernière intervention 8 juin 2005
29 avril 2005 à 11:58
Finalement, j'ai fait en sorte de rediriger vers une sortie standard comme me l'a dit 0xYg3n3
. Simplement, je devrais lui dire entre les pings que si j'ai quelque part une reponse de m..., il doit mettre l'ip dans un autre fichier. Et je n'y arrive pas. Help !!!! svp

Merci d'avance.

#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);
}
0
Rejoignez-nous