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 ?
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 ?
up. personne ne sait m'aider ?
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![]()
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...
Avec exec() ou system() c'est pas possible ?![]()
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
Pourquoi crois-tu que je me limite à répondre le soirEnvoyé par harsh
![]()
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...
aaaah... merci ! depuis le temsp que je cherche ca, et c'est aussi simple qu'en PHP...
Vraiment, merci !
si tu utilises Qt
alors utilise QProcess pour demarrer ton programme:
QProcess herite de QIODevice
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);
tu peux donc faire des read() get() ...
ainsi que
et aussi utiliser le signal:
Code : Sélectionner tout - Visualiser dans une fenêtre à part QByteArray readAllStandardOutput ()
pour savoir si il y a des datas dans le flux
Code : Sélectionner tout - Visualiser dans une fenêtre à part signal void readyReadStandardOutput ()
et/ ou utiliser
ensuite faire ce que tu veux....
Code : Sélectionner tout - Visualiser dans une fenêtre à part void finished ( int exitCode, QProcess::ExitStatus exitStatus )
Partager