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...
Version imprimable
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
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:
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