Partage
  • Partager sur Facebook
  • Partager sur Twitter

Chaîne de caractère

Les espace

    13 avril 2006 à 12:00:31

    Bonjour,
    j'aimerai savoir, pourquoi dans ce code, tout ce que l'on rentre et mis, sauf ce qui est après un espace:


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

    int main(int argc, char *argv[])
    {
    char texte[1000] = {0};
    scanf("%s", texte);
    printf("%s", texte);
    system("PAUSE");
    return 0;
    }


    Ce code est la juste pour tester.
    • Partager sur Facebook
    • Partager sur Twitter
      13 avril 2006 à 12:39:45

      Parce que scanf utilise les espace blancs comme délimatateurs.
      Pour prendre toute une ligne même avec des espaces, utilise fgets:
      fgets(ch, sizeof ch, stdin);

      ... ou en utilisant le bon code de format avec scanf.

      plus d'infos sur scanf : http://xrenault.developpez.com/tutoriels/c/scanf/
      • Partager sur Facebook
      • Partager sur Twitter

      Chaîne de caractère

      × 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