Partage
  • Partager sur Facebook
  • Partager sur Twitter

Purge clean != while((c = getchar...

    26 juillet 2006 à 14:57:52

    Bonjour a tous,

    je crois que je commence a comprendre a peu près comment marche fgets et le "vidage de buffer"....

    mais j'aurais voulu savoir si mettre ce code:

    while((c = getchar()) != EOF && c != '\n');

    plutot que d'utiliser celui la:

    static void purge (FILE * fp)
    {
       int c;
       while ((c = fgetc (fp)) != '\n' && c != EOF)
       {
       }
    }

    static void clean (char *s, FILE * fp)
    {
       /* search ... */
       char *p = strchr (s, '\n')/* <string.h> */
       if (p != NULL)
       {
          /* ... and kill */
          *p = 0;
       }
       else
       {
          purge (fp);
       }
    }

    importait beaucoup? par exemple ds ce code?
    tout marche bien....enfin je crois

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

    #define TAILLE 21

    int main() {
            char s1[TAILLE]= {0}, s2[TAILLE]= {0};
            int c;
            char *p =NULL;

            printf("Entrer chaine1:\n");
            fgets(s1, TAILLE, stdin);
            printf("\n%s\n", s1);
            p = strchr(s1, '\n');
            if (p == NULL){
               while((c = getchar()) != EOF && c != '\n');
       }
            printf("Entrer chaine2:\n");
            fgets(s2, TAILLE, stdin);
            printf("\n%s\n", s2);

            system("pause");
            return 0;
    }

    ???
    Merci d'avance.
    • Partager sur Facebook
    • Partager sur Twitter

    Purge clean != while((c = getchar...

    × 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