Partage
  • Partager sur Facebook
  • Partager sur Twitter

[C]fonction system()

    9 mars 2006 à 17:51:58

    Bonjour.

    Alors voila j'ai une petite question :

    J'aimerai savoir s'il est possible d'inclure des variables dans la fonction system() et de savoir si system() revoie une valeur.
    par exemple de pouvoir faire :
    char chaine[] = "CLS";
    system("%s"‚chaine);



    Merci.
    • Partager sur Facebook
    • Partager sur Twitter
      9 mars 2006 à 18:34:47

      char chaine[] = "CLS";
      system("%s"‚chaine);


      Ca , ça fonctionne pas mais il y a peut être un moyen que je ne connais pas :)
      • Partager sur Facebook
      • Partager sur Twitter
        9 mars 2006 à 18:42:15

        #include <stdio.h>
        #include <stdlib.h>

        int main(int argc‚ char *argv[])
        {
          char chaine[] = "CLS";
          printf("aaaaaaaaaaaaaaaaaaaaaaaaaa");
          system(chaine);
          system("PAUSE");     
          return 0;
        }
        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          9 mars 2006 à 18:44:41

          Tout simplement, comme l'a dit Torim, on peut passer à system la chaîne, au besoin écrire dedans avant avec un sprintf.

          Attention, ça peut être dangereux, vérifies bien d'où vient ta commande.
          • Partager sur Facebook
          • Partager sur Twitter
            9 mars 2006 à 18:45:20

            Il faut utiliser, je crois fprintf() mais je ne connais pas son prototype. Je sais qu' il fonctionne comme printf(), sauf qu' il envoie son contenu dans une chaine. C' est plus ou moins la même equivalence entre std::cout et std::ostringstream.
            • Partager sur Facebook
            • Partager sur Twitter
              9 mars 2006 à 19:16:24

              Citation : ostream

              Il faut utiliser, je crois fprintf() mais je ne connais pas son prototype. Je sais qu' il fonctionne comme printf()


              sprintf()
              • Partager sur Facebook
              • Partager sur Twitter
              Music only !
                9 mars 2006 à 19:17:03

                la réponse de Torim était la bonne :D
                Merci beaucoup!

                Et pour le renvoie de valeur
                est-ce que si je fait par exemple :
                chaine = system("IPCONFIG");

                Il va me renvoyer mon IP ?
                • Partager sur Facebook
                • Partager sur Twitter
                  9 mars 2006 à 19:18:47

                  Le meilleur moyen c'est de tester
                  • Partager sur Facebook
                  • Partager sur Twitter
                    9 mars 2006 à 19:23:23

                    Pas bète! :p

                    C'est juste que je suis un peu paresseux... :-°
                    • Partager sur Facebook
                    • Partager sur Twitter
                      9 mars 2006 à 22:48:14

                      Citation : macharius


                      Et pour le renvoie de valeur
                      est-ce que si je fait par exemple :

                      chaine = system("IPCONFIG");


                      Il va me renvoyer mon IP ?


                      Non. Il faut rediriger la sortie de la commande vers un fichier et traiter le fichier.

                         system("IPCONFIG > data.txt");

                         FILE *fp = fopen("data.txt""r");
                         etc.

                      • Partager sur Facebook
                      • Partager sur Twitter
                      Music only !
                        10 mars 2006 à 7:06:42

                        Après puisque vous etes flemmard vous allez faire des system ("more data.txt |grep biduel");, et à la fin vous allez avoir un magnifique script bash/batch
                        • Partager sur Facebook
                        • Partager sur Twitter
                          11 mars 2006 à 8:55:54

                          system("IPCONFIG > data.txt");


                          Je savais que cette fonction éxistait dans le batch mais je trouve que ca fait un peu brouillon.
                          • Partager sur Facebook
                          • Partager sur Twitter

                          [C]fonction system()

                          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                          • Editeur
                          • Markdown