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 :

Récupérer des data avec system() [Débutant(e)]


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de SPACHFR
    Profil pro
    Paaaaaa
    Inscrit en
    Février 2004
    Messages
    557
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Paaaaaa

    Informations forums :
    Inscription : Février 2004
    Messages : 557
    Par défaut Récupérer des data avec system()
    Bonjour,

    J'ai un petit code qui génére une commande snmp pour récupérer des informations d'une MIB.
    Je génere ma commande par plusieurs strncat() puis une fois la totalité de ma commande formatée je l'envoie par system()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    strcpy(Cmd,CmdSnmp);     
    strcat(Cmd,IP);                          
    strcat(Cmd,TireC);                       
    strcat(Cmd,COM);                         
    strcat(Cmd,WALK);                        
    strcat(Cmd,CpcimgObjMame);               
    system(Cmd);
    Mon programme fonctionne, je récupére les données dans un fichier vers la sortie standard SDTOUT dirigé dans un fichier.
    Suite à ma commande snmp je récupére plusieurs enregistrements de ce type
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    13.4.5.0.42.2.0.1.0.6360144 = '4d41300a4d5a303100'h
    13.4.5.0.42.2.0.1.0.6350174 = '4d41350a4d5a303900'h
    Cependant, je souhaiterai mettre toutes ses données dans un tableau de type char[].

    Je ne vois vraiment pas comment faire, est-ce possible ?,si oui quelle est la technique ?

  2. #2
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par SPACHFR Voir le message
    je récupére les données dans un fichier vers la sortie standard SDTOUT dirigé dans un fichier.
    Suite à ma commande snmp je récupére plusieurs enregistrements de ce type
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    13.4.5.0.42.2.0.1.0.6360144 = '4d41300a4d5a303100'h
    13.4.5.0.42.2.0.1.0.6350174 = '4d41350a4d5a303900'h
    Cependant, je souhaiterai mettre toutes ses données dans un tableau de type char[].

    Je ne vois vraiment pas comment faire, est-ce possible ?,si oui quelle est la technique ?
    En gros, tu dois lire un fichier texte, c'est ça ? C'est pas écrit dans ton livre de C ?

  3. #3
    Membre éclairé Avatar de SPACHFR
    Profil pro
    Paaaaaa
    Inscrit en
    Février 2004
    Messages
    557
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Paaaaaa

    Informations forums :
    Inscription : Février 2004
    Messages : 557
    Par défaut
    je me suis mal exprimé
    Actuellement je génere ce fichier résultat de la commande snmp envoyé via l'instruction system().
    ça fonctionne très bien, j'arrive à manipuler ce fichier comme je le souhaite

    Simplement je voulais savoir si au lieu de récuprer ces informations dans un fichier, je pouvais directement récupérer chaque enregistrement dans un tableau de char[].
    Je ne sais pas si c'est possible (j'ai pas trouvé d'infos), est si oui quelle technique utiliser ?

  4. #4
    Membre confirmé Avatar de Laughing Man
    Profil pro
    Inscrit en
    Août 2007
    Messages
    148
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Août 2007
    Messages : 148
    Par défaut
    il y a deux solutions :

    1. soi tu laisse comme ça et tu relis le fichier généré pour stocker ce qu'il contient dans un tableau
    2. soit tu met en place un tube pour que la sorti de ta commande soit un char* et non un fichier texte

  5. #5
    Membre éclairé Avatar de SPACHFR
    Profil pro
    Paaaaaa
    Inscrit en
    Février 2004
    Messages
    557
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Paaaaaa

    Informations forums :
    Inscription : Février 2004
    Messages : 557
    Par défaut
    Citation Envoyé par Laughing Man Voir le message
    il y a deux solutions :

    1. soi tu laisse comme ça et tu relis le fichier généré pour stocker ce qu'il contient dans un tableau
    c'est ce que je fais actuellement, c'est la solution la plus simple (pour moi qui débute). Mais en prevision, d'une future évolution de mon pgm, je préférerai avoir directement un tableau[] avec les enregistrements

    Citation Envoyé par Laughing Man Voir le message
    il y a deux solutions :

    2. soit tu met en place un tube pour que la sorti de ta commande soit un char* et non un fichier texte
    Un tube, c'est quoi ?..

  6. #6
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par SPACHFR Voir le message
    Un tube, c'est quoi ?..
    Une extension supportée par certains systèmes. (pipe).

    Ca permet de brancher la sortie standard d'un programme sur l'entrée standard d'un autre.

Discussions similaires

  1. Réponses: 2
    Dernier message: 30/06/2008, 10h52
  2. Récupérer des Map avec les Criteria
    Par Asterius dans le forum Hibernate
    Réponses: 2
    Dernier message: 03/01/2008, 12h17
  3. récupérer des URL avec Regexp
    Par manu00 dans le forum Langage
    Réponses: 3
    Dernier message: 28/07/2007, 18h39
  4. récupérer le résultat avec "system()"
    Par kboo dans le forum MFC
    Réponses: 12
    Dernier message: 09/06/2006, 10h50
  5. [VB.NET] [ODBC] Récupérer des valeurs avec requête ODBC?
    Par Pleymo dans le forum Windows Forms
    Réponses: 5
    Dernier message: 04/03/2005, 16h38

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