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 :

caracteres vides dans un string


Sujet :

C

  1. #1
    Membre confirmé
    Inscrit en
    Juin 2004
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 60
    Par défaut caracteres vides dans un string
    bonjour a tous,
    j'ai un probleme a savoir elliminer les caracteres vides dans une chaine de caracteres, quelqu'un pourrait me dire comment le faire en c
    merci

  2. #2
    Membre Expert
    Avatar de Gruik
    Profil pro
    Développeur Web
    Inscrit en
    Juillet 2003
    Messages
    1 566
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 566
    Par défaut
    Salux,

    Une fois que tu auras défini qu'est ce qu'un caractère vide, tu auras fait la moitié du boulot

  3. #3
    Membre confirmé
    Inscrit en
    Juin 2004
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 60
    Par défaut
    je prends pour exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    char ch1[20] = "   salut";
    char ch2[20] = "salut";
    printf("res strcmp is: %d", strcmp(ch1,ch2));
    j'obtient une valeur differente de 0, et mon probleme est comment enlever ces caracteres vide de ch1 pour avoir 0 comme resultat de strcmp
    merci

  4. #4
    Membre Expert Avatar de zooro
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2006
    Messages
    921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2006
    Messages : 921
    Par défaut
    Ah, tu veux enlever les espaces ?

    Eh bien, tu peux soit décaler les caractères pour écraser les espaces, soit recopier tous les caractères différents d'un espace dans une nouvelle chaîne.

  5. #5
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  6. #6
    Membre confirmé
    Inscrit en
    Juin 2004
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 60
    Par défaut
    merci pour vos réponses, bien j'avais espoir qu'il existe une fonction qui elimine les espaces superflus et que je ne trouvais pas, quelqu'un sait si il existe une de la sorte avec Glib? si oui laquelle?
    merci

  7. #7
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    Citation Envoyé par tcharles
    merci pour vos réponses, bien j'avais espoir qu'il existe une fonction qui elimine les espaces superflus et que je ne trouvais pas, quelqu'un sait si il existe une de la sorte avec Glib? si oui laquelle?
    merci
    Pas à ma connaissance mais je viens de te donner une fonction qui le fait très bien !
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  8. #8
    Membre Expert
    Avatar de Gruik
    Profil pro
    Développeur Web
    Inscrit en
    Juillet 2003
    Messages
    1 566
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 566
    Par défaut
    Jconnais pas Glib, mais d'apres moi il n'y a pas et il n'y aura pas de librairie "ultime" pour la gestion des chaines car il ya plusieurs façon de les gérer
    * fonctions qui lisent une chaine d'entrée et ecrivent la chaine resultat dans une zone passée par l'utilisateur
    * fonctions qui allouent et retournent une nouvelle zone à la bonne taille
    * fonctions qui modifient la chaîne d'entrée elle même
    * variantes de ces 3 types de fonctions, sur l'implementation ou sur l'utilisation

  9. #9
    Expert confirmé
    Avatar de Thierry Chappuis
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Mai 2005
    Messages
    3 499
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Suisse

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 499
    Par défaut
    Citation Envoyé par Franck.H
    Ou encore Eliminer les espaces superflus n°2 ou bien l'ADT C_Str écrit par Franck et en particulier les fonction C_Str_lstrip() et C_Str_rstrip(). Que de resources!

    Thierry
    "The most important thing in the kitchen is the waste paper basket and it needs to be centrally located.", Donald Knuth
    "If the only tool you have is a hammer, every problem looks like a nail.", probably Abraham Maslow

    FAQ-Python FAQ-C FAQ-C++

    +

  10. #10
    Membre Expert
    Homme Profil pro
    Dév. Java & C#
    Inscrit en
    Octobre 2002
    Messages
    1 414
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dév. Java & C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 414
    Par défaut
    Bonjour,

    Va voir du côté de "String Utility Functions" de chez GLib, il doit avoir une fonction ou une macro qui s'appele g_strstrip.

    COMMENTAIRE
    Mais bon, ajoute GLib pour une fonction aussi élémentaire...

  11. #11
    Membre confirmé
    Inscrit en
    Juin 2004
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 60
    Par défaut
    merci pour vos réponses pour ce qui est de la fonction c je l'ai deja noté, en ce qui concerne glib effectivement ca existe la fonction g_strstrip().
    merci

  12. #12
    Expert confirmé
    Avatar de Thierry Chappuis
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Mai 2005
    Messages
    3 499
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Suisse

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 499
    Par défaut
    Citation Envoyé par jowo
    Bonjour,

    Va voir du côté de "String Utility Functions" de chez GLib, il doit avoir une fonction ou une macro qui s'appele g_strstrip.

    COMMENTAIRE
    Mais bon, ajoute GLib pour une fonction aussi élémentaire...
    Gagné: g_strstrip(). Il y a aussi g_strgchug() et g_strchomp() pour éliminer spécifiquement les espaces en début et fin de chaine, respectivement.

    EDIT: tu l'as trouvée avant... Désolé pour le doublon!

    Thierry
    "The most important thing in the kitchen is the waste paper basket and it needs to be centrally located.", Donald Knuth
    "If the only tool you have is a hammer, every problem looks like a nail.", probably Abraham Maslow

    FAQ-Python FAQ-C FAQ-C++

    +

  13. #13
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    Citation Envoyé par mujigka
    Gagné, g_strstrip(). Il y a aussi g_strgchug() et g_strchomp() pour éliminer spécifiquement les espaces en début et fin de chaine, respectivement.

    Thierry
    Bon forcément s'ils s'amusent à en changer les noms c'est sûr que j'ai pas trouvé, moi je cherchais avec trim dans le nom
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

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

Discussions similaires

  1. Caractere d'echapement dans une string
    Par Seth77 dans le forum C#
    Réponses: 6
    Dernier message: 21/08/2007, 23h02
  2. changer un caractere dans un String
    Par LeXo dans le forum Langage
    Réponses: 3
    Dernier message: 05/06/2007, 06h48
  3. Extraire caractere dans un string
    Par lulu3111 dans le forum C++/CLI
    Réponses: 5
    Dernier message: 16/04/2007, 13h30
  4. [VBA-E] trouver caractere dans un string
    Par gigs dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 05/04/2006, 14h12
  5. Réponses: 2
    Dernier message: 14/10/2005, 17h05

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