[C] enregistrer résultat commande

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. Modérateur
    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
    1. Modérateur
      Bonjour,

      Ta question est très très floue....
      0
      1. Modérateur
        Salut,

        Peut être la fonction popen ?!
        0
        1. Modérateur
          A moins qu'(il|elle) veuille enregistrer le retour d'une fonction, voire des données. On ne sait pas trop :-/
          0
      2. Modérateur
        Salut,

        C'est pour ça que j'ai dit peut être ;-))
        0
        1. Modérateur
          C'est vrai :-)
          En ce cas je fais une nouvelle proposition :-)

          fwrite()
          0
      3. Modérateur
        Ou alors peut être juste une redirection de sortie avec le ">" dans le shell.
        0
        1. 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. Modérateur
            Aaah, popen() donc :-)
            0
        2. Modérateur
          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