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

Linux Discussion :

pipe sous linux


Sujet :

Linux

  1. #1
    Membre émérite
    Avatar de Antoine_935
    Profil pro
    Développeur web/mobile
    Inscrit en
    Juillet 2006
    Messages
    883
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur web/mobile

    Informations forums :
    Inscription : Juillet 2006
    Messages : 883
    Par défaut pipe sous linux
    Salut à tous.

    Dans le cadre de la création d'un gestionnaire de conenctions wifi, je dois récupérer dans mon programme C++ la sortie d'une commande (iwlist en l'occurence)
    Comment faire ?

  2. #2
    Membre émérite
    Avatar de Antoine_935
    Profil pro
    Développeur web/mobile
    Inscrit en
    Juillet 2006
    Messages
    883
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur web/mobile

    Informations forums :
    Inscription : Juillet 2006
    Messages : 883
    Par défaut
    up. personne ne sait m'aider ?

  3. #3
    Membre confirmé Avatar de harsh
    Inscrit en
    Février 2005
    Messages
    229
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 229
    Par défaut
    Donne plus de details, je connais pas iwlist. Comment appelles tu cette commande, donne le bout de code... bref plus de precisions, je pense que les autres sont comme moi sinon y aurait deja moultes reponses

    EDIT: merde, aujourd hui je passe plus de temps a repondre qu'a bosser... c un drogue ce forum

  4. #4
    Membre émérite
    Avatar de Antoine_935
    Profil pro
    Développeur web/mobile
    Inscrit en
    Juillet 2006
    Messages
    883
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur web/mobile

    Informations forums :
    Inscription : Juillet 2006
    Messages : 883
    Par défaut
    peu importe iwlist.

    Ce que je veux, c'est récupérer la sortie d'une commande, quelle qu'elle soit ,ca peut etre iwlist comme cat, ifconfig...

  5. #5
    mat.M
    Invité(e)
    Par défaut
    Avec exec() ou system() c'est pas possible ?

  6. #6
    Membre émérite
    Avatar de Antoine_935
    Profil pro
    Développeur web/mobile
    Inscrit en
    Juillet 2006
    Messages
    883
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur web/mobile

    Informations forums :
    Inscription : Juillet 2006
    Messages : 883
    Par défaut
    non, ces deux fonctions ne retournent que un entier, soit si la commande s'est bien exécutée ou non. ce n'est pas ce qu'il me faut. Il me faut le texte qu'a affiché cette commande

  7. #7
    Membre émérite
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 354
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 354
    Par défaut
    tu utilises Qt ?

  8. #8
    Membre émérite
    Avatar de Antoine_935
    Profil pro
    Développeur web/mobile
    Inscrit en
    Juillet 2006
    Messages
    883
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur web/mobile

    Informations forums :
    Inscription : Juillet 2006
    Messages : 883
    Par défaut
    oui. Il propose une solution pour cela ?

  9. #9
    Expert confirmé
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 296
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 296
    Par défaut
    Citation Envoyé par harsh
    EDIT: merde, aujourd hui je passe plus de temps a repondre qu'a bosser... c un drogue ce forum
    Pourquoi crois-tu que je me limite à répondre le soir

    Sinon, sous systêmes posix tu as popen qui permet d'ouvrir un pipe (sous win32 tu dois l'avoir avec un tiret-bas devant à tous les coups) qui te permettra de récupérer le résultat de ta commande. De là tu récupères un numéro de handle. Soit tu manipules comme les fichiers C classiques. Soit tu enveloppes avec une des classes de boost.iostream pour lire avec les flux C++ standard.
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...

  10. #10
    Membre émérite
    Avatar de Antoine_935
    Profil pro
    Développeur web/mobile
    Inscrit en
    Juillet 2006
    Messages
    883
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur web/mobile

    Informations forums :
    Inscription : Juillet 2006
    Messages : 883
    Par défaut
    aaaah... merci ! depuis le temsp que je cherche ca, et c'est aussi simple qu'en PHP...

    Vraiment, merci !

  11. #11
    Membre émérite
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 354
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 354
    Par défaut
    si tu utilises Qt
    alors utilise QProcess pour demarrer ton programme:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    QString program = "./path/to/Qt/examples/widgets/analogclock";
    QStringList arguments;
    arguments << "-style" << "motif";
     
    QProcess *myProcess = new QProcess(parent);
    myProcess->start(program, arguments);
    QProcess herite de QIODevice
    tu peux donc faire des read() get() ...

    ainsi que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    QByteArray readAllStandardOutput ()
    et aussi utiliser le signal:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    signal void readyReadStandardOutput ()
    pour savoir si il y a des datas dans le flux

    et/ ou utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    void finished ( int exitCode, QProcess::ExitStatus exitStatus )
    ensuite faire ce que tu veux....

  12. #12
    Membre émérite
    Avatar de Antoine_935
    Profil pro
    Développeur web/mobile
    Inscrit en
    Juillet 2006
    Messages
    883
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur web/mobile

    Informations forums :
    Inscription : Juillet 2006
    Messages : 883
    Par défaut
    ah. Bien, me voila donc avec deux solutions.

    Merci, vraiment

  13. #13
    Membre émérite
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 354
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 354
    Par défaut
    ... faudra nous dire laquelle tu utilises et si tu es content avec

  14. #14
    Membre émérite
    Avatar de Antoine_935
    Profil pro
    Développeur web/mobile
    Inscrit en
    Juillet 2006
    Messages
    883
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur web/mobile

    Informations forums :
    Inscription : Juillet 2006
    Messages : 883
    Par défaut
    à priori j'utiliserai popen, car elle est plus générique, d'autant plus qu'elle retourne un descripteur de fichier existant en C, et il vaut donc mieux prendre l'habitude d'utiliser celle là. Sans quoi, si je ne dispose pas de Qt, je ne m'en sortirai pas.

  15. #15
    Membre émérite
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 354
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 354
    Par défaut
    Citation Envoyé par Antoine_935
    Sans quoi, si je ne dispose pas de Qt, je ne m'en sortirai pas.
    au contraire c'est une protection sinon tu utilises des choses non portables...

  16. #16
    Expert confirmé
    Avatar de Michaël
    Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2003
    Messages
    3 497
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Juillet 2003
    Messages : 3 497
    Par défaut
    et mkfifo dans l'histoire ? ça marcherai pas vu qu'on parlait de pipe à l'origine ?

  17. #17
    Membre émérite
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 354
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 354
    Par défaut
    mais mkfifo c'est pas une commande bash ?
    c'est portable ?

    ... bizarre

  18. #18
    Expert confirmé
    Avatar de Michaël
    Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2003
    Messages
    3 497
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Juillet 2003
    Messages : 3 497
    Par défaut
    c'est pas qu'une fonction bash paragraphe tubes nommés

    et iwlist, c'est portable ? je ne crois pas : c'est un programme spécifique à linux pour voir ta config wifi alors la portabilité dans ce cas...

  19. #19
    Membre émérite
    Avatar de Antoine_935
    Profil pro
    Développeur web/mobile
    Inscrit en
    Juillet 2006
    Messages
    883
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur web/mobile

    Informations forums :
    Inscription : Juillet 2006
    Messages : 883
    Par défaut
    Citation Envoyé par epsilon68
    mais mkfifo c'est pas une commande bash ?
    c'est portable ?

    ... bizarre
    Ton argumeny en faveur de Qt et de la portabilité est fondé, de fait c'est mieux d'etre sur de la portabilité.

    Mais dans ce cas ci, il s'agit d'un gestionnaire de wifi pour linux seulement.
    de toute facon, la fonction popen doit bien exister sous windows aussi, non ?

  20. #20
    Membre émérite
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 354
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 354
    Par défaut
    Citation Envoyé par Antoine_935
    Ton argumeny en faveur de Qt et de la portabilité est fondé, de fait c'est mieux d'etre sur de la portabilité.

    Mais dans ce cas ci, il s'agit d'un gestionnaire de wifi pour linux seulement.
    de toute facon, la fonction popen doit bien exister sous windows aussi, non ?
    pas de problème

    en general je conseille Qt du fait de ma propre experience qui est de ne plus reinventer la roue et d'avoir une doc complete et facile d'utilisation.

    L'important dans un projet, c'est de trouver des moyens d'aller plus vite et de rester concentrer sur son objectif. Qt m'aide dans cela ....

    C'est aussi la logique de Kde, c'est aussi pour cette raison qu'ils avancent remarquablement vite. J'ai meme vu recemment qu'ils vont debarquer sur les autres plateformes en adaptant toute leurs librairies. Je trouve cela assez remarquable.

    ...

    sinon je sais pas repondre a ta question sur popen sur window.
    honnetement, je prefere maintenant investir mon temps sur Linux et Macos.

    voila
    a+

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Soucis de pipe en C++ sous linux
    Par portix1 dans le forum SL & STL
    Réponses: 1
    Dernier message: 05/01/2008, 15h53
  2. [Série] Accès au port série sous linux
    Par ghost dans le forum Entrée/Sortie
    Réponses: 10
    Dernier message: 10/10/2007, 10h43
  3. Comment désinstaller MySQL sous linux
    Par nahmsath dans le forum Installation
    Réponses: 5
    Dernier message: 18/09/2007, 10h46
  4. Réponses: 5
    Dernier message: 05/01/2007, 21h26
  5. Je ne peux établir une connexion cliente sous Linux.
    Par Anonymous dans le forum CORBA
    Réponses: 5
    Dernier message: 16/04/2002, 15h57

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