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 :

Suppression des blancs en fin de chaine


Sujet :

C

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2004
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 31
    Points : 24
    Points
    24
    Par défaut Suppression des blancs en fin de chaine
    Bonjour tout le monde,

    J'ai cherché un peu partout et j'ai pas trouvé comment supprimé les blancs en queue de chaîne.

    Explication du problème:
    Je reçois un flux de donnée dans un fichier plat. Toutes les données sont collées les une aux autres. Je découpe les données selon leur longueur qui est fixe.
    J'ai un champ "libellé" sur 50 caractères mais ce champ n'est pas forcément rempli à fond.
    Dans ma structure j'ai donc pour ce libellé un truc du genre :"libellé de bla bla "
    La longueur fait 50 mais j'aimerai insérer dans ma base de donnée que le libellé exacte c'est à dire sans les blancs : "libellé de bla bla".

    Comment puis-je faire en C car la fonction trim apparement n'est pas connue en C...

    Merci de votre aide.

  2. #2
    Expert éminent
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Points : 6 486
    Points
    6 486
    Par défaut
    une fin de chaine esr codé par un caractère \0. Ainsi tout ce qui se trouve après n'est pas pris en compte (les fonctions comme strlen se basent sur ce genre de symbole pour gérer la fin des chaines )

  3. #3
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Points : 6 498
    Points
    6 498
    Par défaut
    Eh bien, tu te places à la fin de la chaîne, et tant que le caractère pointé est un espace (utilise la macro isspace(c)) tu mets ce caractère à 0 et du décrementes l'index, attention de décrementer jusqu'à 0 et pas plus petit (cas d'une chaîne entièrement composée d'espaces).
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

  4. #4
    Membre à l'essai
    Inscrit en
    Avril 2004
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 31
    Points : 24
    Points
    24
    Par défaut
    ok merci je vais tester.

    Pour PRomu@ld, quand je fais un strlen de ma chaine ça m'indique 50 ce qui est la longueur de ma chaine avec les espaces. Hors moi je veux pas les espaces.

    Je vais donc tester la solution de Trap D.

  5. #5
    Membre à l'essai
    Inscrit en
    Avril 2004
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 31
    Points : 24
    Points
    24
    Par défaut
    Ok ca marche en faisant la méthode à Trap D.
    Merci

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

Discussions similaires

  1. suppression des espaces en fin de chaine
    Par vince2005 dans le forum Unix
    Réponses: 7
    Dernier message: 16/06/2011, 13h52
  2. Suppression des blancs dans une ComboBox
    Par sami35 dans le forum Général VBA
    Réponses: 6
    Dernier message: 10/05/2007, 17h07
  3. Bcp out d'une table sans les blancs de fin de chaine
    Par armor92 dans le forum Outils
    Réponses: 3
    Dernier message: 07/12/2006, 13h41
  4. comment supprimer des caracteres en fin de chaines
    Par BernardT dans le forum Langage
    Réponses: 1
    Dernier message: 19/07/2006, 17h41
  5. Réponses: 3
    Dernier message: 31/01/2005, 23h18

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