Partage
  • Partager sur Facebook
  • Partager sur Twitter

Sous quels systèmes marche system("PAUSE");

    6 janvier 2006 à 17:10:22

    tout est dans le titre =/
    Si quelqu'un connait le fonctionnement exacte je suis pas contre non plus
    • Partager sur Facebook
    • Partager sur Twitter
      6 janvier 2006 à 17:23:40

      Tu veux dire sous quels OS?
      • Partager sur Facebook
      • Partager sur Twitter
      Anonyme
        6 janvier 2006 à 17:25:56

        Pour le fonctionnement exact, quand tu appeles la fonction SYSTEM() avec une chaînes de caractères comme paramètres, ça fait exactement comme si du écrivais cette chaînes dans un terminal/une console. Quand à la portabilité de l'instruction, j'en doute un peu...
        • Partager sur Facebook
        • Partager sur Twitter
          6 janvier 2006 à 17:37:05

          À ce moment, ça signifie que si j'écris:

          system("cd..");
          system("cd..");
          system("cd dossier");
          system("texte.txt");


          ça va m'ouvrir le fichier C:\dossier\texte.txt dans l'éditeur de texte par défaut, pour peu que je ne sois qu'à 2 dossiers de distance de la racine lorsque le programme se lance?
          • Partager sur Facebook
          • Partager sur Twitter
            6 janvier 2006 à 17:42:11

            Bah, normalement, ta console lance des programmes, pas des fichiers, c'est pas un file browser... En plus au lieu de demander, teste.
            • Partager sur Facebook
            • Partager sur Twitter
              6 janvier 2006 à 17:52:33

              J'ai testé, mais j'ai une erreur quelque part ô__o (m'en fous, je recommence)

              pis la console lance le programme notepad.exe, qui ouvre le fichier C:\dossier\texte.txt, ça marche sous la cmd de Windows, donc...

              Edit: Bon, l'erreur était simplement l'oubli du ".h" dans mon ``#include <string.h>`` ¬¬ ... donc résultat du test:

              On peut exécuter des commandes comme cls, exit, net send... mais dès qu'il s'agit de mettre en scène un fichier, la commande est mystérieusement inconnue... ``system("type XD.txt");`` ne marche pas par exemple (le fichier spécifié est introuvable. ``system("XD.txt");`` -> commande inconnue... Je vais tenter de mettre des programmes dans system32 launchables via la cmd pour voir à nouveau.

              Edit²: le programme peut afficher des textes via la commande type, mais uniquement dans le répertoire dans lequel se trouve l'IDE qui exécute le programme, ignorant la commande cd.. -> en fait le programme a l'air de reconnaitre cd.., car il n'affiche pas de message d'erreur, mais le répertoire en cours ne bouge pas =/

              en clair:


              fichiers qui peuvent être lancés:
              - exécutables, en entrant directement le nom: ``system("test.exe");

              - textes, via la commande type: ``system("type texte.txt");

              Et tout ce petit monde doit être contenu dans le répertoire de votre IDE: Si vous lancez le programme via C:\Dev-Cpp\devcpp.exe , eh bien tout ce que vous pourrez lancer devra se trouver à C:\Dev-Cpp\ , et impossible de changer de répertoire.

              Si quelqu'un a quelque chose à rajouter là-dessus, ou bien veut contredire un point -> ici.

              Parce que je crois que j'ai gravement fait dériver le topic du sujet initial :lol:
              • Partager sur Facebook
              • Partager sur Twitter
                6 janvier 2006 à 21:04:37

                Citation : rz0

                Tout l'intérêt de ne pas lire les FAQs...
                http://www.siteduzero.com/forum-83-9294-faq-c.html#r76471




                J'ai lu vos fac deux fois , et j'ai aussi survolé les facs de developpez.com (meme si je comprennais pas tout) comme c'était indiqué plus bas, et j'ai aussi fait une petite recherche , mais ca ne répond pas a ma question ^^
                Si tu crois que je suis un newbie qui débarque sur un forum sans faire de recherche et sans s'informer de rien je précise que c'est pas le cas
                Merci quand meme pour avoir pris le temps d'aller chercher le lien de la fac qui aurait effectivement pu me servir si j'avais simplement voulu rendre mes programmes portables , et merci aussi à V1944 et GuilOooo ^^
                fock , toutes les versions de windows ?


                • Partager sur Facebook
                • Partager sur Twitter
                Anonyme
                  6 janvier 2006 à 21:26:01

                  En théorie ça marche avec Windows et DOS depuis... suffisement longtemps pour que tu n'aies pas à te soucier d'un programme qui ne marche pas sur un très vieux PC :p

                  Ensuite comme ça ne fait qu'appeller une commande, on pourrait toujours immaginer une commande pause sous Linux ou n'importe quel autre système qui pourrait faire un printf et getchar ou simplement autre chose.

                  De toute façon : évitez d'utiliser system(); Le C est un langage portable, c'est dommage de tout gâcher à cause d'un petit system dont on peut presque toujours se passer.
                  • Partager sur Facebook
                  • Partager sur Twitter
                    6 janvier 2006 à 23:59:43

                    Grâce à ce sujet, je sais comment lancer une application:

                    system("application.exe");

                    Mais savez vous comment arrêter une application? comme par exemple application.exe que j'aurez lancé juste au dessus... Merci
                    • Partager sur Facebook
                    • Partager sur Twitter
                      7 janvier 2006 à 0:07:59

                      Citation : louisclem

                      De toute façon : évitez d'utiliser system(); Le C est un langage portable, c'est dommage de tout gâcher à cause d'un petit system dont on peut presque toujours se passer.

                      Il faut aussi savoir s'adapter ^^ et ne pes être assez étourdi pour répéter le même chose sous Linux et Windows...

                      Citation : SoulCaline

                      Grâce à ce sujet, je sais comment lancer une application:

                      system("application.exe");

                      fais bien gaffe au répertoire, hein.

                      Sinon, pour stopper l'exécutable... ben tu le stoppes comme tu stopperais n'importe quel exécutable, c'est-à-dire en le fermant via interface :-° Mais si tu veux parler d'une commande du genre:

                      si la variable x = 0 alors fermer le programme C:\Dev-Cpp\...

                      Eh bien je serais très étonné de savoir qu'elle existe, pour ne pas affirmer qu'elle n'existe simplement pas; mes connaissance en DOS sont limitées aux net send pour les cours de physique appliquée en salle info ^^

                      PS: Les Shell Functions m'ont l'air très intéressantes, quelqu'un connait-il le header qui gère ces fonctions?
                      • Partager sur Facebook
                      • Partager sur Twitter
                        7 janvier 2006 à 0:11:03

                        Lol net send ^^

                        Ouaip je parlais bien d'une commande en language C pour qu'il quitte tout seul l'application...
                        • Partager sur Facebook
                        • Partager sur Twitter
                          7 janvier 2006 à 0:16:54

                          en langage C ou en DOS? :o PArce qu'il y a toujours l'éventualité du ``system("fermerfichier");
                          • Partager sur Facebook
                          • Partager sur Twitter
                            7 janvier 2006 à 7:44:53

                            V1944> pour ShellExecute il faut inclure windows.h -> donc pas portable :)
                            • Partager sur Facebook
                            • Partager sur Twitter
                            Anonyme
                              7 janvier 2006 à 12:13:17

                              Citation : V1944

                              Citation : louisclem

                              De toute façon : évitez d'utiliser system(); Le C est un langage portable, c'est dommage de tout gâcher à cause d'un petit system dont on peut presque toujours se passer.

                              Il faut aussi savoir s'adapter ^^ et ne pes être assez étourdi pour répéter le même chose sous Linux et Windows...

                              o_O non, quand on peut se passer d'un truc pareil, on ne l'utilise pas. Le problème d'un programme portable c'est que tout ce qu'il y a dedans soit portable, pas d'en faire 10 versions différentes pour chaque OS, sinon c'est plus de la portabilité avec une simple recompilation, ce qui est un des gros avantages du C.
                              • Partager sur Facebook
                              • Partager sur Twitter
                                7 janvier 2006 à 13:56:01

                                Je ferai du 100% portable lorsque je ferai des jeux :lol: pour l'instant, c'est presque que des programmes style:
                                #include <iostream.h>

                                using namespace std;

                                void main() {
                                        int i, nbtours;

                                        cout << "Combien de tours?";
                                        cin >> nbtours;

                                        for(i=0; i < nbtours; i++) {
                                                switch(i%2){
                                                        case 0:
                                                                if(i == 0)
                                                                        cout<<"Je sais ";
                                                                else
                                                                        cout<<"que je sais ";
                                                                break;
                                                        case 1:
                                                                cout<<"que tu sais ";
                                                                break;
                                                }
                                        }

                                        cout << "\b.\n";
                                        system("pause");
                                }

                                Ça roxxe, hein? :lol:
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  7 janvier 2006 à 14:28:49

                                  Faire des petits progs n'empeche pas de faire du portable, bien au contraire, 'faut prendre des bonnes habitudes. Genre dégager ce rondidju de void main, mettre iostream et pas iostream.h, et oublier system.
                                  Si tu prends pas ce genre de bons reflexes, tu feras jamais de jeux ;)
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    7 janvier 2006 à 15:50:45

                                    Pour être franc, c'est le correctif d'un code que j'avais fait avec notepad++ en Edication Civique, donc assez bourrin, correctif effectué par quelqu'un d'autre ... personnellement, je mets toujours
                                    int main(){

                                    /...

                                    return 0;}
                                    • Partager sur Facebook
                                    • Partager sur Twitter

                                    Sous quels systèmes marche system("PAUSE");

                                    × 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