Partage
  • Partager sur Facebook
  • Partager sur Twitter

utiliser scanf ou pas???

    8 août 2006 à 14:15:36

    <code type="c"></code>

    salut a tous, on m'a dit un jour que " scanf posait parfois des problemes alors j'aimerais bien savoir se qu'il faut utiliser a la place.
    • Partager sur Facebook
    • Partager sur Twitter
      8 août 2006 à 14:35:46

      A la place il faut utiliser:
      #include <stdio.h>
      #include <stdlib.h>
      #include <string.h>

      static void clean(const char *buffer, FILE *fp) {
          char *p = strchr(buffer,'\n');
          if (p != NULL) {
              *p = 0;
          }
          else {
              int c;
              while ((c = fgetc(fp)) != '\n' && c != EOF) {
              }
          }
      }

      int main() {
              char chaine[100] = {0};

              fgets(chaine, sizeof chaine, stdin);
              clean(chaine, stdin);

      return 0;
      }

      fgets() permet de saisir une ligne entière et de placer la chaine de caractère reçue dans une variable. Si tu veux un entier ou autre il faut ensuite utiliser des fonction comme strtol()
      Ensuite la fonction clean permet de vider le buffer.

      http://xrenault.developpez.com/tutoriels/c/scanf/
      http://mapage.noos.fr/emdel/
      • Partager sur Facebook
      • Partager sur Twitter
        8 août 2006 à 14:57:44

        Voir aussi getchar(), fgetc() et éventuellement les entrées sorties bas niveau read() et write()...
        • Partager sur Facebook
        • Partager sur Twitter
          8 août 2006 à 15:22:32

          ok ba merci beaucoup, j'aurais pa cru qui en aurais autant!!!
          • Partager sur Facebook
          • Partager sur Twitter

          utiliser scanf ou pas???

          × 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