[C] enregistrer résultat commande

Flo -  
lami20j Messages postés 21506 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
Configuration: Linux
Firefox 1.0.4

7 réponses

  1. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    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
  2. kilian Messages postés 8675 Date d'inscription   Statut Modérateur Dernière intervention   1 526
     
    Bonjour,

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

    Peut être la fonction popen ?!
    0
    1. kilian Messages postés 8675 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
  4. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Salut,

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

      fwrite()
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. kilian Messages postés 8675 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
  7. 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
    1. kilian Messages postés 8675 Date d'inscription   Statut Modérateur Dernière intervention   1 526
       
      Aaah, popen() donc :-)
      0
  8. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    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