[C] enregistrer résultat commande

Flo -  
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   -
Bonjour,

J'aimerai pouvoir enregistrer le resultat d'une commande en C/C++.
Comment puis-je faire ?

Merci
A voir également:

7 réponses

lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Re,

J'ai fait une petite erreur.
Maintenant c'est testé
#include<stdio.h>
int main()
{
    FILE *fic;
    char s[255];

    fic = popen("ls -l","r");

    while(!feof(fic)){
      fgets(s,255,fic);
      printf("%s",s);
    }

    pclose(fic);
    return 0;
}

1
kilian Messages postés 8732 Date d'inscription   Statut Modérateur Dernière intervention   1 526
 
Bonjour,

Ta question est très très floue....
0
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Salut,

Peut être la fonction popen ?!
0
kilian Messages postés 8732 Date d'inscription   Statut Modérateur Dernière intervention   1 526
 
A moins qu'(il|elle) veuille enregistrer le retour d'une fonction, voire des données. On ne sait pas trop :-/
0
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Salut,

C'est pour ça que j'ai dit peut être ;-))
0
kilian Messages postés 8732 Date d'inscription   Statut Modérateur Dernière intervention   1 526
 
C'est vrai :-)
En ce cas je fais une nouvelle proposition :-)

fwrite()
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
kilian Messages postés 8732 Date d'inscription   Statut Modérateur Dernière intervention   1 526
 
Ou alors peut être juste une redirection de sortie avec le ">" dans le shell.
0
Flo
 
Alors en fait je voudrais par exemple stocker le resultat de la commande "ls" dans une chaine de caractères (en C).

ex:

char tab[250] = (resultat de la commande "ls");
0
kilian Messages postés 8732 Date d'inscription   Statut Modérateur Dernière intervention   1 526
 
Aaah, popen() donc :-)
0
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Re,

Essaie (je n'ai pas testé)
#include<stdio.h>
int main()
{
    FILE *fic;
    char *s[255];

    fic = popen("ls -l","r");

    while(!feof(fic)){
      fgets(s,255,fic);
      printf("%s",s);
    }

    pclose(fic);
    return 0;
}
--
106485010510997108
0