IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

Console se ferme


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif Avatar de Belegkarnil
    Inscrit en
    Juin 2005
    Messages
    289
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Juin 2005
    Messages : 289
    Points : 205
    Points
    205
    Par défaut Console se ferme
    Bonjour, j'ai un problème. Lorsque je compile et execute mon programme, la console se ferme directement. Si je passe par le dos, je vois que mon programme tourne bien. Si je décommante une ligne, le programme ne se ferme pas tout seul. Voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
     
    #include <stdlib.h>
    #include <stdio.h>
    #include <sys/types.h>
    #include <dirent.h>
     
    #define OS "WIN"
     
    void printfln(char*);
    void getDir(char[]);
    char *concat(char*,char*,short);
     
    int main(int argc, char *argv[]){
        char repertoireCourant[256],*fichier1,*fichier2;
        getDir(repertoireCourant);
        if(OS=="WIN"){
                      fichier1=concat("\\test1.txt",repertoireCourant,2);
                      fichier2=concat("\\test2.txt",repertoireCourant,2);
    //SI Je commente la ligne du dessus tout fonctionne.
        }else{
              fichier1=concat("/test1.txt",repertoireCourant,2);
              fichier2=concat("/test2.txt",repertoireCourant,2);
        }
        printf(fichier1);
        printf(fichier2);
    //Je dois donc commenter la ligne ci-dessus aussi
        system("PAUSE");
    	return 0;
    }
    void getDir(char *string){
         getcwd(string,256);
    }
    char *concat(char *string1, char *string2,short num){
         int lg1 = strlen(string1),lg2=strlen(string2);
         char *res=malloc(sizeof(lg1+lg2+1));
         if(num==1) sprintf(res,"%s%s",string1,string2);
         else sprintf(res,"%s%s",string2,string1);
         return res;
    }

  2. #2
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Ben, c'est normal.
    Il en est ainsi de toutes les applications Win32 console: Contrairement aux programmes DOS sous Win9x, on ne peut plus choisir de fermer ou non en quittant.


    PS: Certains environnement de développement (pour simplifier, je dirais pratiquement tous sauf Dev-C++) s'arrangent pour éviter que le programme se ferme directement quand on exécute le programme depuis l'environnement. Mais une fois exécuté hors de l'environnement, le comportement "normal" reprend le dessus.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 68
    Points : 44
    Points
    44
    Par défaut
    rajoute [edit]avant le return

  4. #4
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    K4trix: Ça t'arrive de réfléchir avant de poster ?
    (retiré : Tu as réussi à dire deux bêtises (ou une et demie) en une seule phrase de 6 mots...)
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  5. #5
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Points : 9 818
    Points
    9 818
    Par défaut
    Citation Envoyé par Médinoc
    K4trix: Ça t'arrive de réfléchir avant de poster ?
    Tu as réussi à dire deux bêtises (ou une et demie) en une seule phrase de 6 mots...

    A priori, sans regarder le code, on pourrait penser que c'est ça. Mais non...
    Je ne répondrai à aucune question technique en privé

  6. #6
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    C'est pourquoi j'ai dit une et demie au lieu de deux.
    Mais la une, indivisible, tient dans son post sans avoir besoin de lire ou non le code.

    Edit: Bon OK. Soit il a édité, auquel cas la faute en question n'est plus valide, soit je dois me racheter des yeux, auquel cas je présente mes humbles excuses à K4trix.
    Et comme l'Edit devrait (en théorie) apparaitre sous son post, je crois qu'il est temps que je me rachète des yeux...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  7. #7
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Points : 9 818
    Points
    9 818
    Par défaut
    Je ne vois rien d'édité !! À moins que j'ai des problèmes de vue !!
    Je ne répondrai à aucune question technique en privé

  8. #8
    Expert éminent sénior

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Points : 11 877
    Points
    11 877
    Par défaut
    [HS]
    Citation Envoyé par Médinoc
    Edit: Bon OK. Soit il a édité, auquel cas la faute en question n'est plus valide, soit je dois me racheter des yeux, auquel cas je présente mes humbles excuses à K4trix.
    Et comme l'Edit devrait (en théorie) apparaitre sous son post, je crois qu'il est temps que je me rachète des yeux...
    Je pense que si on édite un message le jour même ou pas longtemps après, aucun message se trouve sous le post...

    Testons voir : [EDIT]effectué[/EDIT]

    [/HS]

    Jc

    [Double edit] Donc pas de message... [/Double edit]

  9. #9
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Points : 9 818
    Points
    9 818
    Par défaut
    Bon, ce n'est pas pour ça que ça plante, mais faire :

    #define OS "WIN"

    Et faire :
    if(OS=="WIN")

    Ce n'est pas très beau !

    Si tu veux compiler par rapport à un OS
    TU peux ajouter une commande de précompilation
    #define WIN

    Puis

    #if WIN

    #elseif PINGOUIN

    #endif

    Comme ça, tu compiles juste pour ton OS !
    Je ne répondrai à aucune question technique en privé

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Lancer programme sans que la console se ferme
    Par tims12 dans le forum Windows
    Réponses: 1
    Dernier message: 20/09/2013, 13h47
  2. [Free Pascal] La fenêtre console se ferme trop vite
    Par SimoBenz dans le forum Free Pascal
    Réponses: 2
    Dernier message: 02/12/2006, 15h45
  3. Réponses: 10
    Dernier message: 09/11/2006, 17h07
  4. Débutant, console qui se ferme /s WinXp
    Par bobobobo01 dans le forum C
    Réponses: 13
    Dernier message: 01/12/2005, 22h53
  5. [FreePascal] Comment éviter que la console se ferme
    Par Thiboz dans le forum Free Pascal
    Réponses: 5
    Dernier message: 14/08/2005, 15h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo