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 :

a quoi sert ffluch


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Octobre 2006
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 52
    Par défaut a quoi sert ffluch
    bonjour a tous!
    Est ce que quelqu'un aurai la patience de me commenter ce petit programme? j'ai du mal a comrendre a quoi sert le ffluch merci

    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
    #include<stdio.h>
    #include<stdlib.h>
     
    void saisieaffichage()
    {
       int c;
     
       c=getchar();
       if(c!= '.')
       {
          saisieaffichage();
          putchar(c);
       }
       else
       {
          systeme("stty cooked echo");
          printf("chaine inversee");
          ffluch(stdout);
       }
    }
     
    int main(void)
    {
       printf("enter string");
       ffluch(stdout);
       saisieaffichage();
       printf("\n");
    }

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

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par défaut

    ffluch() n'existe pas.
    fflush() vide un flux sortant pour le forcer à être affiché même si la dernière écriture ne se termine pas par un \n.
    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 averti
    Inscrit en
    Octobre 2006
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 52
    Par défaut
    a la suite quand je compile il m'affiche:



    salmiakki@salmiakki-laptop:~$ make chainecaract
    cc chainecaract.c -o chainecaract
    /tmp/ccYJHeFh.o: In function `saisieaffichage':chainecaract.c.text+0x2e): undefined reference to `systeme'
    :chainecaract.c.text+0x47): undefined reference to `ffluch'
    /tmp/ccYJHeFh.o: In function `main':chainecaract.c.text+0x7e): undefined reference to `ffluch'
    collect2: ld returned 1 exit status
    make: *** [chainecaract] Error 1


    je ne voit pas ou est le probleme

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

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par défaut
    J'ai donné la raison pour le second message d'erreur.
    Pour le premier message d'erreur, c'est pareil: La fonction systeme() n'existe pas.

    Normalement, tu devrais avoir des erreurs bien plus tôt. L'inconvénient majeur de GCC par rapport à Visual est qu'il ne te donne aucun Warning si tu ne lui demandes pas explicitement.
    Remplace ta commande de compilation par ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cc chainecaract.c -o chainecaract -Wall -Wextra -O2
    Et quand tu auras corrigé tous les warnings, tu pourras ajouter -Wwrite-strings.
    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
    Membre averti
    Inscrit en
    Octobre 2006
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 52
    Par défaut
    le but de l'exo etait d'afficher a l'inverse une chaine de caracteres saisie terminée par '.'....

  6. #6
    Membre averti
    Inscrit en
    Octobre 2006
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 52
    Par défaut
    merci pour l'instruction je regarde out de suite

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

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par défaut
    Un affichage à l'envers par récursivité?
    Joli...

    Par contre, je ne vois pas du tout à quoi sert l'appel à system(), ici...
    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.

  8. #8
    Membre averti
    Inscrit en
    Octobre 2006
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 52
    Par défaut
    exact j'ai mis systeme() pour pouvoire mettre des commande unix ..mais en fait je viens de remarquer que je n'ai pas la librairie stdlib je vois po comment je pourrait l'installer

    le prof nous a dit que la saisie d'un carctere n'est validée qu"apres un retour chariot (clavier buffériser) donc il fallait enlever la bufférisation en debut de traitement et de le revalider apres...c'est les commandes stt raw et cooked...( j'ai oublié de mettre le raw dans le main...mais je n'ai pas bien capté le but de la manoeuvre

  9. #9
    Membre Expert
    Avatar de Gruik
    Profil pro
    Développeur Web
    Inscrit en
    Juillet 2003
    Messages
    1 566
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 566
    Par défaut
    On va ffluncher?

Discussions similaires

  1. A quoi sert XML-Schema
    Par Community Management dans le forum Valider
    Réponses: 20
    Dernier message: 26/01/2009, 09h52
  2. à quoi sert le délestage?
    Par r0d dans le forum Mode d'emploi & aide aux nouveaux
    Réponses: 5
    Dernier message: 06/10/2004, 14h34
  3. a quoi sert le schema dans postgres ??
    Par champion dans le forum PostgreSQL
    Réponses: 6
    Dernier message: 13/09/2004, 10h25
  4. [info] A quoi sert ImageObserver ?
    Par FrigoAcide dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 22/03/2004, 17h20

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