[C] enregistrer résultat commande

Fermé
Flo - 5 déc. 2008 à 10:19
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 - 5 déc. 2008 à 16:57
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 jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
5 déc. 2008 à 16:57
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 vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 5 février 2025 1 526
5 déc. 2008 à 10:45
Bonjour,

Ta question est très très floue....
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
5 déc. 2008 à 10:50
Salut,

Peut être la fonction popen ?!
0
kilian Messages postés 8732 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 5 février 2025 1 526
5 déc. 2008 à 10:52
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 jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
5 déc. 2008 à 11:08
Salut,

C'est pour ça que j'ai dit peut être ;-))
0
kilian Messages postés 8732 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 5 février 2025 1 526
5 déc. 2008 à 11:11
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 vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 5 février 2025 1 526
5 déc. 2008 à 11:12
Ou alors peut être juste une redirection de sortie avec le ">" dans le shell.
0
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 vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 5 février 2025 1 526
5 déc. 2008 à 12:03
Aaah, popen() donc :-)
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
5 déc. 2008 à 12:08
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