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 :

Saisie d'un texte avec espace et tabulation


Sujet :

C

  1. #1
    Membre averti Avatar de bosk1000
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    706
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 706
    Points : 367
    Points
    367
    Par défaut Saisie d'un texte avec espace et tabulation
    Bonjour,

    le code ci dessous permet de saisir dans un tableau un texte avec espace et tabulation avec getchar.

    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
     
    #include <stdio.h>
    #include <stdlib.h>
     
    lecture (char *t)
    {
        do
        {
            *(t)=getchar();
            t++;
        }
        while (*(t-1)!='\n');
        (t)='\0';
    }
     
    int main()
    {
        char t[100];
        lecture(t);
        printf("%s",t);
    }
    Avez-vous des conseils à me donner pour l'améliorer ou y a t il des éléments à éviter que j'aurais utiliser ?

    Merci

  2. #2
    Expert éminent Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    Novembre 2010
    Messages
    3 035
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : responsable R&D vidage de truites

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3 035
    Points : 8 400
    Points
    8 400
    Par défaut
    salut,

    il se passe quoi si on entre plus de 100 caractères ?

  3. #3
    Membre expérimenté Avatar de SkyZoThreaD
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Juillet 2013
    Messages
    583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juillet 2013
    Messages : 583
    Points : 1 615
    Points
    1 615
    Par défaut
    Comme un A320 sans pilote

    Non sérieusement: pourquoi des parenthèses autour du t ?
    Ça ne marche pas aussi bien?
    et ça:
    Ca marche vraiment ? tu donnes la valeur 0 à ton pointeur et non au char pointé dans le tableau... et même si tu modifiait quelque-chose, ton retour chariot est à t-1, donc le '\0' doit aller en t-1 aussi.
    Et comme dit BufferBob il faut empêcher l'écriture en dehors des limites du tableau tu sauvera des centaines de vies
    La liberté est à la sociologie ce que l'instant présent est à la physique relativiste.

  4. #4
    Membre expérimenté Avatar de edgarjacobs
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2011
    Messages
    623
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2011
    Messages : 623
    Points : 1 554
    Points
    1 554
    Par défaut
    Hello,

    Et pourquoi pas tout simplement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    char t[SIZE];
    char *s;
     
        fgets(t,sizeof(t),stdin);
        s=strchr(t,'\n');
        if(s) *s=0;
    A+

    Edgar;
    On écrit "J'ai tort" ; "tord" est la conjugaison du verbre "tordre" à la 3ème personne de l'indicatif présent

  5. #5
    Membre expérimenté Avatar de SkyZoThreaD
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Juillet 2013
    Messages
    583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juillet 2013
    Messages : 583
    Points : 1 615
    Points
    1 615
    Par défaut
    Difficile de faire plus clean en effet
    La liberté est à la sociologie ce que l'instant présent est à la physique relativiste.

  6. #6
    Membre averti Avatar de bosk1000
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    706
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 706
    Points : 367
    Points
    367
    Par défaut
    l'exercice indique dans un table [100]
    voici pourquoi je ne suis pas parti sur un table qui s'adapte à ce qui est tapé

    j'avais oublié de mettre une étoile devant

    merci pour vos informations

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

Discussions similaires

  1. [WD10] gestion d'un fichier texte avec espace
    Par kwakly dans le forum WinDev
    Réponses: 7
    Dernier message: 06/12/2007, 17h44
  2. [Tableaux] récupérer un texte avec tabulations
    Par pclover dans le forum Langage
    Réponses: 3
    Dernier message: 09/02/2007, 14h07
  3. cliques sur zone de text avec masque de saisie
    Par branqueira dans le forum Access
    Réponses: 2
    Dernier message: 19/12/2006, 20h15
  4. Form + input text avec espace
    Par psykbe dans le forum Langage
    Réponses: 3
    Dernier message: 23/02/2006, 14h22
  5. Affichage Données avec Espace ds Zone Texte
    Par dai.kaioh dans le forum ASP
    Réponses: 2
    Dernier message: 22/02/2005, 16h43

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