C++ - écrire le resultat d'un Ping dans un txt

Résolu/Fermé
MxM971 Messages postés 244 Date d'inscription samedi 26 juillet 2008 Statut Membre Dernière intervention 23 octobre 2018 - Modifié par MxM971 le 5/08/2013 à 20:20
 JwTdd - 5 août 2013 à 23:30
Bonjour,

Je souhaiterai faire une petit programme qui Ping une adresse donnée et qui stoque les données du ping dans un fichier en texte.

J'arrive a faire amrcher ma fonction ping, j'arrive a écrire dans un fichier texte. mais :
Comment faire marquer les données qui sont dans le ping dans mon fichier texte? (temps de réponse etc...)

pour une peite iddée voici mon code :

#include <iostream>
#include <cstdlib>
#include <string>
#include <fstream>

using namespace std ;

class Ping{
private:
       string target;
public:
       Ping(){}
       Ping(string _target);
       void setTarget( string _target);
       void startPing();
};
Ping::Ping(string _target) : target( _target){}

void Ping::setTarget( string _target )
{
     this->target = _target ;
}
void Ping::startPing()
{
     cout << "Pinging " << target << endl;
     cout << "Veuillez Patienter..." << endl ;
     string pingStr = "ping  " + target ;

     int flag = system( pingStr.c_str());
}



int main( void )
{
    Ping p =  Ping();

 string ad_ping;
 cout << "Veuillez rentrer l'adresse du Ping" << endl;
 cin >>  ad_ping;

 p.setTarget(ad_ping);
 p.startPing();
    
 

 
 // Ouvre le fichier de données avec le nom de l'adresse
    fstream f( ad_ping+".txt" ,ios_base::in | ios_base::out | ios_base::trunc);
    if (f.is_open())
    {
        // Écrit les données :
        f << test << endl;

        // Replace le pointeur de fichier au début :
        f.seekg(0);
 
        // Ferme le fichier :
        f.close();
    }


  

    system( "PAUSE" ); 
    return EXIT_SUCCESS ;
}


1 réponse

Salut , tu peux ajouter ">> " + target + ".txt" à pingStr
ou bien opter pour popen() à la place de system().
0