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 :

Problème boucle while


Sujet :

C

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    126
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 126
    Points : 58
    Points
    58
    Par défaut Problème boucle while
    bonjour a tous j'ai grand besoin de votre aide j'ai un probleme avec une boucle while qui ne s'arrete jamais en faite le but du programme et d'ouvrir cmd.exe et de lire ce qui il ya dedan puis d'ecrire ceci dans un buffer et apres direction une socket.je poste le code pour mieux coprendre.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    void process()
    {
    static char buffer[1000];
    FILE *pp;
       pp=popen("cmd.exe","r");
       while(feof(pp)!=EOF)
       {
          fgets(buffer,sizeof buffer,pp);
       }
    }
    ceci et la partie sur laquel je but , je n'arrive pas dire a faire en sorte que la boucle s'arrete lorsque il n'ya plus rien a lire dans cmd.exe. Pourrriez vous m'aidez si il vous plait ?

  2. #2
    Membre confirmé Avatar de KindPlayer
    Profil pro
    Inscrit en
    Février 2007
    Messages
    471
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 471
    Points : 477
    Points
    477
    Par défaut un peu bizarre ton test
    essaie en mettant simplement while (!feof(pp)).
    p.s. Utilise les balises quand tu mets du code.
    La science est ce que nous comprenons suffisamment bien pour l'expliquer à un ordinateur. L'art, c'est tout ce que nous faisons d'autre.
    Donald E. Knuth

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    126
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 126
    Points : 58
    Points
    58
    Par défaut merci d'avoir repondu
    merci de me repondre j'ai malheureusement deja essayer en mettant (!feof(pp)) auriez vous une autre façon d'ecrire cette boucle car je debute et comme tout debutant c'est un peu le fouillit dans mon code merci par avance

    ps:comment je peut mettre les balise quand je poste du code? merci

  4. #4
    Membre éclairé Avatar de homeostasie
    Homme Profil pro
    Inscrit en
    Mai 2005
    Messages
    939
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 939
    Points : 862
    Points
    862
    Par défaut
    La fonction feof() ne sert pas à détecter la fin d'un fichier mais à savoir si une erreur de lecture est dûe à la rencontre de la fin du fichier.

    cf. FAQ C Comment détecter une fin de fichier ?

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    126
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 126
    Points : 58
    Points
    58
    Par défaut
    merci pour le lien et l'information homeostasie j'avai bien mal compri la fonction de eof mais j'ai tj un peu de mal a recrire ma boucle j'essay toute meme.merci encore

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    126
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 126
    Points : 58
    Points
    58
    Par défaut
    deole je n'arrive tj pa a ecrire ma boucle pouvez vous me guidee sil vouplai

  7. #7
    Membre éclairé Avatar de homeostasie
    Homme Profil pro
    Inscrit en
    Mai 2005
    Messages
    939
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 939
    Points : 862
    Points
    862
    Par défaut
    Citation Envoyé par chuko Voir le message
    deole je n'arrive tj pa a ecrire ma boucle pouvez vous me guidee sil vouplai
    Ca devrait avoir la forme suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    while( (fgets(buffer, sizeof buffer, pp) != NULL)
    {
        //Traitement de la ligne récupérée: Affichage par exemple
    }
     
    // Gestion eventuelle d'erreurs: est ce que la fin de fgets est dûe à la fin de fichier? -> utilisation de feof()
    D'autre part, il est toujours utilse de tester le retour des fonctions, notamment dans ton cas popen().

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    126
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 126
    Points : 58
    Points
    58
    Par défaut
    merci de votre aide grace au code de homeostasie j'ai pu effectuer ma lecture comme je le voulai sans que ça n'interfère sur ma socket plus loin merci beaucou a vous m'avez bien depanner

Discussions similaires

  1. problème boucle while
    Par Stephub dans le forum Débuter
    Réponses: 6
    Dernier message: 20/01/2009, 23h31
  2. Problème boucle while
    Par Peedro dans le forum Langage
    Réponses: 4
    Dernier message: 07/10/2008, 14h09
  3. Problème boucle while
    Par fred33 dans le forum Langage
    Réponses: 2
    Dernier message: 23/05/2008, 19h16
  4. [MySQL] Problème boucle WHILE
    Par Adlack dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 26/02/2007, 19h30
  5. Problème boucle while et evenement
    Par tse_tilky_moje_imja dans le forum Général Python
    Réponses: 2
    Dernier message: 30/03/2006, 18h11

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