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 :

Nombre de caractères dans une saisie


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    226
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 226
    Par défaut Nombre de caractères dans une saisie
    bonjour tous le monde,

    Voila je débute en C.
    en faite je saisi une phrase et je voudrai connaitre le nombre de caractère saisi et faire un test en fonction d'une taille par exemple.

    si inférieur a 100 ça passe
    sinon redemande une saisi

    voila je vous remercie d'avance de vos reponse.

    bonne soirée

  2. #2
    Membre très actif
    Avatar de buggen25
    Ingénieur développement logiciels
    Inscrit en
    Août 2008
    Messages
    554
    Détails du profil
    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Août 2008
    Messages : 554
    Par défaut
    salut:
    essaye strlen() pour voir

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    226
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 226
    Par défaut
    ben en faite j'avais rechercher le man de strlen mais j'avais pas bien comprit l'exemple, j'ai essayer de trouver d'autre exemple pour tester mais en vint.

    je reste sur cette piste quand meme

  4. #4
    Membre très actif
    Avatar de buggen25
    Ingénieur développement logiciels
    Inscrit en
    Août 2008
    Messages
    554
    Détails du profil
    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Août 2008
    Messages : 554
    Par défaut
    re:
    essaye ce code, je ne garantis rien sans compilateur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    char tab[200] = "fdsjhfdsjkfhdsjkfhdsjkfhdsfkhdsfdhfddfjsdhfkjf";
     
    if ( strlen(tab) < 100 ) 
    {
         printf( "ok" );
    }
    else
        printf("faire un saisie");
    sans oublier d'ajouter #include<string.h>

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    226
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 226
    Par défaut
    je vais essayer, je vous remercie je comprend a peut prêt la boucle.

    je te tiens au courant dans la semaine, la je vais partir, pas de PC avant jeudi.

    bonne soirée à tous.

  6. #6
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par jameson Voir le message
    en faite je saisi une phrase et je voudrai connaitre le nombre de caractère saisi et faire un test en fonction d'une taille par exemple.

    si inférieur a 100 ça passe
    sinon redemande une saisi
    fgets() permet ça. Si tu as dépassé la longueur, tu ne trouves pas le '\n' dans la chaine.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    char s[100];
    int err;
    do
    {
       printf ("Entrer une chaine de %lu caractères max :\n", (unsigned long) sizeof s);
       fgets (s, sizeof s, stdin);
       err = fclean (s, stdin);
       if (err)
       {
          puts("saisie erronee\n");
       }
    }
    while (err);
    Le code de fclean() a été publié ici de nombreuses fois. Il suffit de le modifier pour qu'il retourne 1 si '\n' n'a pas été trouvé.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Entrer une chaine de 100 caracteres max :
    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
    aaaaaaaaaaaaaaaaaaaaaaaaaa
    saisie erronee
     
    Entrer une chaine de 100 caracteres max :
    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
    aaaaaaaaaaaaaaa
     
    Process returned 0 (0x0)   execution time : 17.967 s
    Press any key to continue.

  7. #7
    Membre très actif
    Avatar de buggen25
    Ingénieur développement logiciels
    Inscrit en
    Août 2008
    Messages
    554
    Détails du profil
    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Août 2008
    Messages : 554
    Par défaut
    Citation Envoyé par Emmanuel Delahaye Voir le message
    fgets() permet ça. Si tu as dépassé la longueur, tu ne trouves pas le '\n' dans la chaine.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    char s[100];
    int err;
    do
    {
       printf ("Entrer une chaine de %lu caractères max :\n", (unsigned long) sizeof s);
       fgets (s, sizeof s, stdin);
       err = fclean (s, stdin);
       if (err)
       {
          puts("saisie erronee\n");
       }
    }
    while (err);
    salut:
    je ne savais pas que sizeof s'écrivait sans "()". merci pour l'astuce, j'ai souvent peur de ne pas les mettre. on apprend des choses, c'est un poste tout a fait amical

  8. #8
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 122
    Billets dans le blog
    148
    Par défaut
    Euh oui , tiens pourquoi sizeof ne prends pas de () ... c'est une macro ? O_o
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  9. #9
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par LittleWhite Voir le message
    Euh oui , tiens pourquoi sizeof ne prends pas de () ... c'est une macro ? O_o
    C'est un opérateur unaire. La syntaxe est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    sizeof <object>
    sizeof (<type>)
    La valeur retournée est la taille en bytes.
    Depuis C90, le type retourné est size_t.

  10. #10
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 122
    Billets dans le blog
    148
    Par défaut
    Merci pour la precision
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] compter le nombre de caractères dans une phrase saisie
    Par gnamienbenedicte dans le forum C#
    Réponses: 3
    Dernier message: 25/04/2014, 13h53
  2. [Excel] Nombre de caractères dans une plage
    Par fred014 dans le forum Delphi
    Réponses: 20
    Dernier message: 02/03/2007, 21h32
  3. Réponses: 10
    Dernier message: 31/12/2006, 12h35
  4. Réponses: 2
    Dernier message: 17/08/2006, 12h36
  5. limite du nombre de caractères dans une requete
    Par pheno82 dans le forum Access
    Réponses: 3
    Dernier message: 01/06/2006, 22h12

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