IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Console flux de sortie


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Developpeur
    Inscrit en
    Mars 2012
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Developpeur
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2012
    Messages : 146
    Par défaut Console flux de sortie
    Bonjour,

    J'ai un problème, j'aimerais intercepter le flux de sortie sur la console, afin de l'ecrire dans un fichier texte.
    Le flux est envoyer par la fonction SnmpUtilPrintAsnAny.

    Ou alors si cela n'est pas possible, j'aimerai une methode afin de lire ce qui a été afficher dans la console.

    Voila Merci a ceux qui prendront le temps de me lire et si possible me repondre.
    =)

  2. #2
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 21
    Par défaut
    Salut,

    Tu peux rediriger le flux de sortie sur un fichier . Cependant le texte ne s'affichera plus sur la console du coup.

  3. #3
    Membre confirmé
    Homme Profil pro
    Developpeur
    Inscrit en
    Mars 2012
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Developpeur
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2012
    Messages : 146
    Par défaut
    Merci, j'avais vu cet exemple, mais comme la fonction qui affiche en console, n'est pas la fonction "cout()", je n'y arrive pas.

    Enfaite c'est la fonction SnmpUtilPrintAsnAny(); qui ecrit sur la console ... j'ai une variables qui n'est accessiblme que par cette fonction et seulement en console, j'aimerai pouvoir récuperer cette valeur,

    si tu a une idée !!

  4. #4
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 21
    Par défaut
    Attention, cout n'est pas une fonction mais un flux.

    Es-tu sûr que tu as bien testé la solution du lien que je t'ai donné car d'après la msdn :

    The SnmpUtilPrintAsnAny function prints the value of the Any parameter to the standard output.
    Et le standard output c'est cout il me semble.

  5. #5
    Membre confirmé
    Homme Profil pro
    Developpeur
    Inscrit en
    Mars 2012
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Developpeur
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2012
    Messages : 146
    Par défaut
    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
     
    streambuf *psbuf, *backup;
    ofstream filestr;
    filestr.open ("test.txt");
     
    backup = cout.rdbuf();     // back up cout's streambuf
     
    psbuf = filestr.rdbuf();   // get file's streambuf
    cout.rdbuf(psbuf);         // assign streambuf to cout
     
    //cout << "This is written to the file";
    SnmpUtilPrintAsnAny(&snmpVarList.list[0].value);
     
    cout.rdbuf(backup);        // restore cout's original streambuf
     
    filestr.close();
     
    return 0;
    Voila j'ai copier coller le lien que tu ma donner, si tu voi un probleme

  6. #6
    Membre confirmé
    Homme Profil pro
    Developpeur
    Inscrit en
    Mars 2012
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Developpeur
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2012
    Messages : 146
    Par défaut
    SnmpUtilPrintAsnAny(&snmpVarList.list[0].value); s'affiche toujours dans la console, malgrès le code que tu ma donnée =S

  7. #7
    Membre chevronné
    Inscrit en
    Décembre 2010
    Messages
    290
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 290
    Par défaut
    Bien que je ne l'ai jamais essayée, je ne suis pas sûr que cette façon de rediriger la sortie standard fonctionne dans le cas d'une fonction compilée dans une librairie séparée, puisque je ne vois pas comment il peut accéder à ton exemplaire de cout. Mais j'avoue ne pas bien connaitre le sujet.

    Le fait est que SnmpUtilPrintAsnAny est une fonction de debuggage, qui ne devrait jamais être utilisée en dehors de petits programmes destinés à des tests.
    Si tu veux vraiment récupérer la valeur d'une variable AsnAny sous la forme d'un texte, c'est un peu à toi à coder une fonction qui interprete la structure et la convertir en texte (à moins qu'il existe une fonction toute prête).

    Si tu veux juste récupérer la sortie d'un programme de test pour la stocker dans un fichier tabulé et la traiter dans une application genre Excel, il vaut mieux rediriger toute la sortie de ton programme, via la ligne de commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    monprogramme.exe >fichier.txt
    Evidemment, un programme appelant le tien peut simuler ce genre de comportement en utilisant certains paramètres de la fonction CreateProcess().

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Traiter les flux de sortie
    Par soulhouf dans le forum Linux
    Réponses: 9
    Dernier message: 20/04/2006, 17h48
  2. [Java 1.5] Process : afficher le flux de sortie
    Par Zapan dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 11/01/2006, 10h34
  3. [MySQL] Flux de sortie : ob_start + header
    Par ToxiZz dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 13/12/2005, 23h56
  4. Awk - changer le flux de sortie
    Par Longrais dans le forum Linux
    Réponses: 1
    Dernier message: 16/08/2005, 17h11
  5. [Console] Tampon de sortie et endl
    Par Évariste Galois dans le forum C++
    Réponses: 18
    Dernier message: 09/07/2005, 17h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo