Bonjour,
J'aimerais faire un programme c++ qui affiche le résultat de la commande "ls" (par exemple), comment doit-je faire ?
Merci d'avance...
Bonjour,
J'aimerais faire un programme c++ qui affiche le résultat de la commande "ls" (par exemple), comment doit-je faire ?
Merci d'avance...
int system(const char * cmd) déclarée dans stdlib.h
Bruno Pagès, auteur de Bouml (freeware), mes tutoriels sur DVP (vieux, non à jour )
N'oubliez pas de consulter les FAQ UML et les cours et tutoriels UML
Merci de ta réponse mais j'ai oublier de précisier que je devait mettre le résultat de la commande "ls" dans un string ou un char...
Est-ce possible de faire ça avec la fonction system() ?
tu redirige la sortie de ta commande dans un fichier et tu lis ce fichier
en gros cela donne:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 int excmd(std::string& cmd, std::string& out) { std::string tmp = cmd + " > tmp.cmd"; int ret = system(tmp.c_str()); if ((ret == 127) || (ret == -1)) return ret; /*la tu lis le fichier tmp.cmd et tu stockes le contenu dans out*/ return ret; }
Salut,
J'aurais plutot dit d'utiliser popen() et pclose() qui te permettent de lire le résultat directement dans la sortie de la console et de récupérer ce résultat.
Tu trouveras aisément de la doc sur ces fonctions, notemment "man popen" et "man pclose"
Alp
Mon blog anglais - Mes articles et critiques de livres - FAQ C++0x, avec liste des nouveautés - Conseils sur le C++ - La meilleure FAQ du monde - Avant de créer des classes que vous réutiliserez, regardez si ça n'existe pas déjà - Le site du comité de normalisation du C++
Le guide pour bien débuter en C++ - Cours et tutoriels pour apprendre C++
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager