salut, je veux savoir comment afficher l'invite de commande en cliquant sur un bouton dans une interface c ++. merci
salut, je veux savoir comment afficher l'invite de commande en cliquant sur un bouton dans une interface c ++. merci
Bonjour,
Personnellement, je tenterais de faire un fork (ou mieux, lancer un thread sans mémoire partagée) puis j'effectuerais un recouvrement avec execlp dans le processus fils ainsi créé.
Utiliser la fonction C system
http://www.cplusplus.com/reference/c...stdlib/system/
System est bloquant et je ne pense pas qu'il ouvrira une console.
Il faudra donc faire :
Déjà si la commande est un peu compliquée, il faudra l'enregistrer dans un fichier et stocker tout son contenu dans un std::string ça risque de ne pas être pratique
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 #include<stdlib.h> int main(void) { system("gnome-terminal -e \"sleep 4\"&"); return 0; }
Et si par la suite on souhaite communiquer avec la console, je ne sais pas si cela sera bien facile.
Tandis qu'avec exec, il suffira de créer un pipe et de redéfinir les entrée et sortie standards.
Oui (mais c'est pas précisé dans la question ^^)
Sinon, ce code utilise system et l'appel n'est pas bloquant. Je peux même fermer la fenêtre principale sans que la konsole créée ne se ferme. (cela vient peut être de konsole, je n'ai pas chercher)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 // g++ -Wall -Wextra konsole.cpp && ./a.out #include <string> #include <cstdlib> int main() { std::string console = "konsole -noclose"; std::string cmd = "bash"; system((console + " -e " + cmd).c_str()); return 0; }
merci de votre réponses..............je pense que ça marche mais la console ne tien pas a l'écran....pouvez vous me rappelez de la fonction qui s'en charge de ça? merci bcp..........![]()
Partager