cs_Kaid
Messages postés949Date d'inscriptionmardi 2 octobre 2001StatutMembreDernière intervention 8 juillet 2006
-
28 déc. 2002 à 10:58
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 2021
-
6 août 2007 à 06:14
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
xave4552
Messages postés53Date d'inscriptiondimanche 16 mars 2008StatutMembreDernière intervention24 février 20181 6 août 2007 à 01:41
Salut je suis totalement newbi en c++ je suis ariver a comprendre presque tout le programe mais g une ligne qui me pause problem esque kelkin pourait me la decrir svp
cet ligne est:
strcat (commande, " -n 1 > temp");
KeZyX
Messages postés5Date d'inscriptionjeudi 24 mai 2007StatutMembreDernière intervention 7 juin 2007 29 mai 2007 à 12:14
Salut.Voila,ton prog me plait bien mais je voudrais pouvoir tapper n'importe quelle adresse IP a l'aide d'un scanf.
Mais alors allez savoir pourquoi je n'y arrive pas,j'ai un probleme avec les strcpy je pense car au moment ou je tappe l'adresse et que je la valide,le prog se coupe et j'ai le droit au rapport d'erreures^^.
Quelqu'un pourrait-il m'aider?
iznotek
Messages postés1Date d'inscriptionlundi 29 septembre 2003StatutMembreDernière intervention18 juillet 2006 18 juil. 2006 à 22:40
tip, top ton prog et malin
(pour ceux qui ne comprenne pas le prog à la premiere lecture: revision du C avec marabout!)
pour gagner du temps, on peut rajoute apres -n 1 : -w 100 ou moins
sur un "bon" reseaux local un ping repond en moins de 10ms e donc en 100 on sai deja que c'est foutu!
a tchaou
arthiolis
Messages postés4Date d'inscriptionsamedi 5 février 2005StatutMembreDernière intervention 8 octobre 2005 25 avril 2006 à 17:59
Bonjour
malgré ce que certains peuvent dire ( ui je sais que c'était pour améliorer ) mais je trouve ta source sympathique, et je vais sûrement m'en inspirer je pense pour un pti programme java qui ferait appelle à cette application que tu donnes. Bon on pourrait dire que la méthode est pas optimisée mais bon je le dis pas car je fais les même choses donc... Sinon j'ai mis longtemps pour comprendre comment tu lisais le temp alors que je voyais pas comment il était rempli mais ca y est j'ai trouvé.
Bonne journée les gens.
5h33ck0n
Messages postés4Date d'inscriptionmardi 20 avril 2004StatutMembreDernière intervention26 avril 2004 20 avril 2004 à 18:22
voila, jai utilisé la source, en changeant bien le system() par le ShellExecute et ca me donne ca =>
int ping ( char ip [ 17 ] )
{
int result = 0; // declare result et l'initialise à 0
FILE * temp2 = fopen ( "Y:\\Textile\\PingTextile v9\\ping\\temp1" , "r" ); // declare un pointeur temp2 sur le fichier temp1
char test [ 50 ]; // declaration d'un tableau test
while ( !feof ( temp2 )) // on parcour le fichier
{
fscanf ( temp2 , "%s" , test ); // récupére une chaine qui correspond a un mot
if ( strcmp ( test , "octets=32" ) == 0 ) // si ce mot vaut octets=32, on défini result à 1
{
result = 1;
}
}
fclose ( temp2 ); // ferme temp2
return result; // on retourne la valeur de result
}
mais le pb cé kan je fait un apel a cette fonction ping a l'aide de ca (je suis en MFC) =>
void CPingDlg::OnPC1()
{
char ip [ 17 ];
strcpy ( ip , "192.168.100.11" );
int result = ping ( ip ); // envoi 'ip' en parametre à la fonction ping
if ( result 0) // affiche Offline si result 0
{
m_result1 = "Offline";
}
else
{
if ( result 1) // affiche Online si result 1
{
m_result1 = "Online";
}
}
UpdateData ( FALSE );
}
et ben, je suis obligé de cliké 2 foi sur le bouton, pour avoir le vrai resultat ! il doit il y avoir un pb de "Updatedata" mais je voi pa ou ! (je me sui pa trompé sous MFC, jai bien mi le truc dan OnClik et pa OnDoubleClik) !! voila voila !!
merci davance !!
cs_JCpp
Messages postés334Date d'inscriptionsamedi 12 janvier 2002StatutMembreDernière intervention 3 juillet 2010 28 oct. 2003 à 19:21
Bon, j’ai un peux galéré pour amélioré ton prog.
Remplace :
system(commande);
par :
ShellExecute(0,"open",commande,0,0,SW_NORMAL);
Une autre question, ci on tape sur la fenêtre MS-DOS :
C:ping XXX.XXX.XXX.XXX –n 1
Durée approximative des boucles en millisecondes :
Minimum 0ms, maximum0ms, Moyenne = 0ms
C’est tu récupérer ces informations, on obtiendrai la valeur du PING
Merci
cs_Funcky
Messages postés59Date d'inscriptionlundi 31 décembre 2001StatutMembreDernière intervention11 mai 2006 28 oct. 2003 à 09:01
A mon avis en utilisant les thread avec la fonction fork() il doit y avoir moyen, mais je ne serais aps t'aider beaucoup plus que ca ...
cs_JCpp
Messages postés334Date d'inscriptionsamedi 12 janvier 2002StatutMembreDernière intervention 3 juillet 2010 27 oct. 2003 à 23:20
Ton programme me plaît vraiment beaucoup, sauf que ça ouvre une fenêtre MS-DOS, il y a-t-il un moyen, une autre façon pour qu’elle n’apparaisse pas, ou une autre fonction que « system » ?
Car ma source est en WiIN32
Merci
cs_Funcky
Messages postés59Date d'inscriptionlundi 31 décembre 2001StatutMembreDernière intervention11 mai 2006 27 oct. 2003 à 20:00
Je ne m'occupe pas du temps, je regarde juste si l'ordi distant répond .. Si il répond, result vaut 1, si il ne répond pas, il vaut 0 ...
cs_JCpp
Messages postés334Date d'inscriptionsamedi 12 janvier 2002StatutMembreDernière intervention 3 juillet 2010 27 oct. 2003 à 18:50
Comme c’est mon 1er programme PING, je ne comprends pas bien tout DSL.
Donc, STP pourrais tu me donner quelle que explications.
Pourquoi tu ouvres ce fichier, tu ne l’envois pas pour savoir combien de temps cela a pris ?
J’obtiens result = 1, pourquoi ?
Merci Bcp
cs_HotSpot
Messages postés51Date d'inscriptionvendredi 7 février 2003StatutMembreDernière intervention28 octobre 2004 3 mai 2003 à 16:05
Fo dire qu'elle est pas si compliqué que ca ... les explications ne sont pas requise...
cs_zzzzzz
Messages postés408Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention18 décembre 2012 21 févr. 2003 à 11:48
arf elle est bien ta sources mais ya aucunes explications :(
cs_Funcky
Messages postés59Date d'inscriptionlundi 31 décembre 2001StatutMembreDernière intervention11 mai 2006 28 déc. 2002 à 11:08
Merci, jevais regarder ca ...
cs_Kaid
Messages postés949Date d'inscriptionmardi 2 octobre 2001StatutMembreDernière intervention 8 juillet 20061 28 déc. 2002 à 10:58
Deux liens qui vont certainement d'intéresser (il faut s'enregistrer sur le site pour télécharger les fichiers) :
6 août 2007 à 06:14
http://www.linux-kheops.com/doc/man/manfr/man-html-0.9/man3/strcat.3.html
6 août 2007 à 01:41
cet ligne est:
strcat (commande, " -n 1 > temp");
29 mai 2007 à 12:14
Mais alors allez savoir pourquoi je n'y arrive pas,j'ai un probleme avec les strcpy je pense car au moment ou je tappe l'adresse et que je la valide,le prog se coupe et j'ai le droit au rapport d'erreures^^.
Quelqu'un pourrait-il m'aider?
18 juil. 2006 à 22:40
(pour ceux qui ne comprenne pas le prog à la premiere lecture: revision du C avec marabout!)
pour gagner du temps, on peut rajoute apres -n 1 : -w 100 ou moins
sur un "bon" reseaux local un ping repond en moins de 10ms e donc en 100 on sai deja que c'est foutu!
a tchaou
25 avril 2006 à 17:59
malgré ce que certains peuvent dire ( ui je sais que c'était pour améliorer ) mais je trouve ta source sympathique, et je vais sûrement m'en inspirer je pense pour un pti programme java qui ferait appelle à cette application que tu donnes. Bon on pourrait dire que la méthode est pas optimisée mais bon je le dis pas car je fais les même choses donc... Sinon j'ai mis longtemps pour comprendre comment tu lisais le temp alors que je voyais pas comment il était rempli mais ca y est j'ai trouvé.
Bonne journée les gens.
20 avril 2004 à 18:22
int ping ( char ip [ 17 ] )
{
int result = 0; // declare result et l'initialise à 0
FILE * temp1 = fopen ( "Y:\\Textile\\PingTextile v9\\ping\\pingping.bat" , "w+" );
char commande [ 45 ]; // tableau contenant la commande a envoyer
strcpy ( commande , "ping " ); //
strcat ( commande , ip ); // insertion de l'ip envoyé en parametre dans la commande
strcat ( commande , " -n 1 -i 1 -w 1 > temp1" ); // insertion des paramètres envoyé avec la commande ping
fwrite( commande , sizeof ( char ) , 45 , temp1 );
fclose ( temp1 );
ShellExecute ( NULL , "open" , "Y:\\Textile\\PingTextile v9\\ping\\pingping.bat" , "" , "" , SW_HIDE );
//Sleep ( 200 );
FILE * temp2 = fopen ( "Y:\\Textile\\PingTextile v9\\ping\\temp1" , "r" ); // declare un pointeur temp2 sur le fichier temp1
char test [ 50 ]; // declaration d'un tableau test
while ( !feof ( temp2 )) // on parcour le fichier
{
fscanf ( temp2 , "%s" , test ); // récupére une chaine qui correspond a un mot
if ( strcmp ( test , "octets=32" ) == 0 ) // si ce mot vaut octets=32, on défini result à 1
{
result = 1;
}
}
fclose ( temp2 ); // ferme temp2
return result; // on retourne la valeur de result
}
mais le pb cé kan je fait un apel a cette fonction ping a l'aide de ca (je suis en MFC) =>
void CPingDlg::OnPC1()
{
char ip [ 17 ];
strcpy ( ip , "192.168.100.11" );
int result = ping ( ip ); // envoi 'ip' en parametre à la fonction ping
if ( result 0) // affiche Offline si result 0
{
m_result1 = "Offline";
}
else
{
if ( result 1) // affiche Online si result 1
{
m_result1 = "Online";
}
}
UpdateData ( FALSE );
}
et ben, je suis obligé de cliké 2 foi sur le bouton, pour avoir le vrai resultat ! il doit il y avoir un pb de "Updatedata" mais je voi pa ou ! (je me sui pa trompé sous MFC, jai bien mi le truc dan OnClik et pa OnDoubleClik) !! voila voila !!
merci davance !!
28 oct. 2003 à 19:21
Remplace :
system(commande);
par :
ShellExecute(0,"open",commande,0,0,SW_NORMAL);
Une autre question, ci on tape sur la fenêtre MS-DOS :
C:ping XXX.XXX.XXX.XXX –n 1
Durée approximative des boucles en millisecondes :
Minimum 0ms, maximum0ms, Moyenne = 0ms
C’est tu récupérer ces informations, on obtiendrai la valeur du PING
Merci
28 oct. 2003 à 09:01
27 oct. 2003 à 23:20
Car ma source est en WiIN32
Merci
27 oct. 2003 à 20:00
27 oct. 2003 à 18:50
Donc, STP pourrais tu me donner quelle que explications.
Pourquoi tu ouvres ce fichier, tu ne l’envois pas pour savoir combien de temps cela a pris ?
J’obtiens result = 1, pourquoi ?
Merci Bcp
3 mai 2003 à 16:05
21 févr. 2003 à 11:48
28 déc. 2002 à 11:08
28 déc. 2002 à 10:58
http://www.codeproject.com/internet/winping.asp
http://www.codeproject.com/internet/cping.asp