|
|
|
|
Bonjour,
Je cherche à coder un petit programme en C qui va executer une commande cmd de type dir, puis récupérer pour l'analyser ce que renvoie la commande. Ici, la liste du répertoire par exemple.
J'avais pensé à shellexecute, mais en fait aparemment ça se contente de lancer la commande dans une fenêtre dos sans rien récupérer...
La je seche, donc si vous avez une idée, je suis preneur.
Merci :)
Salut!
#include <dirent.h>
#include <stdio.h>
#include <stdlib.h>
void scandir(char *dirname)
{
DIR *dir;
struct dirent *ent;
printf("premier passage dans '%s':\n",dirname);
if ((dir = opendir(dirname)) == NULL)
{
perror("impossible d'ouvrir le répertoire");
exit(1);
}
while ((ent = readdir(dir)) != NULL)
printf("%s\n",ent->d_name);
printf("deuxième passage dans '%s':\n",dirname);
rewinddir(dir);
while ((ent = readdir(dir)) != NULL)
printf("%s\n",ent->d_name);
if (closedir(dir) != 0)
perror("impossible de fermer le répertoire");
}
(j'ai trouvé ça dans borland) sinon, malheureusement c'est du cas par cas on peut récupérer les variables d'environement avec char *getenv(const char *name); Sous unix / linux il y a plein d'astuces pour récupérer les infos du système. sous windows, c'est une galère. cordialement ¤ |
System ("dir") va effectivement lancer la commande dir, mais dans une fenêtre, et tu ne pourra rien récupérer à part 0 si ça s'est bien passé, sinon un code d'erreur.
|