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 :

Manipulation de string


Sujet :

C++

Vue hybride

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

    Informations forums :
    Inscription : Mars 2007
    Messages : 31
    Par défaut Manipulation de string
    Bonjour,

    Je veux à partir d'un fichier texte récuperer des parametres (1 par ligne) et je veux tout simplement enlever les espaces au début de la ligne.
    J'ai trouvé un exemple dans la FAQ C++ :

    Str.substr(Str.find_first_not_of( C ) );

    Str etant le string, et C le char à enlever.
    Enfin bon, en utilisant cette fonction, par exemple :

    std::string test = " exemple";

    test = test.substr( test.find_first_not_of(""));
    j'ai toujours " exemple", rien n'a changé.

    Quelqu'un aurait il quelque chose d'autre à proposer, ou aurais je commis une erreur stupide?

    Merci d'avance !

  2. #2
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Tu as mis "" ou " " ?
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 31
    Par défaut
    Bingo, c'est vraiment stupide en effet, maintenant tout marche comme il faut ... Y'a pas à dire c'est express comme réponse, merci beaucoup ! (bon j'ai un peu honte en meme temps)

  4. #4
    Expert éminent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 644
    Par défaut
    Salut,

    Il y a juste deux petites questions qu'il me semblerait bon de prendre en compte...
    • Le nombre d'espaces est-il systématiquement égal dans toutes les lignes
    • Si le nombre d'espaces varie, est-ce réellement des espace à chaque fois, ou est-ce plutot des caractères tabultations

    En effet, si tu as un fichier du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     unmot
     unautremot
     untroisiememot
    avec un seul espace à chaque fois (ou chaque fois deux, ou ...)ca ne posera pas problème...

    Mais si tu a un fichier du genre de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    unmot
            undeuxiememot
                    untroisièmemot
            unquatriememot
    uncinqiememot
    toute la question sera de savoir si les séries d'(ici 8)espaces sont l'expression réelle de 8 fois "un espace" ou s'ils sont celle d'un seul caractère tabulation

    Dans le premier cas, tu n'auras pas de problème, dans le second, ton code ne supprimera pas le(s) caractère(s) de tabulation...
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  5. #5
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Prendre en compte d'autres caractères d'espacement ne prend pas plus de 10 secondes, il suffit de remplacer la chaîne de recherche " " par tout ce qu'on veut, comme par exemple " \t";

  6. #6
    Expert éminent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 644
    Par défaut
    Citation Envoyé par Laurent Gomila
    Prendre en compte d'autres caractères d'espacement ne prend pas plus de 10 secondes, il suffit de remplacer la chaîne de recherche " " par tout ce qu'on veut, comme par exemple " \t";
    Je n'ai jamais dit que cela prenait du temps... J'ai juste dit qu'avec les indications qu'il a fournit, la question reste posée, et qu'il est *peut etre* utile qu'il pousse la réflexion plus loin
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

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

Discussions similaires

  1. [c#] Comment manipuler des string ?
    Par Mickey.jet dans le forum C#
    Réponses: 4
    Dernier message: 27/05/2009, 08h14
  2. fonction manipulant une string
    Par salseropom dans le forum C
    Réponses: 16
    Dernier message: 21/02/2006, 13h18
  3. [STRING] Manipulation de string
    Par Hoegaarden dans le forum Langage
    Réponses: 2
    Dernier message: 30/11/2005, 14h46
  4. [java] manipulation de string
    Par n8ken dans le forum Langage
    Réponses: 3
    Dernier message: 15/11/2005, 11h08
  5. [MFC] Manipulation de string
    Par mulot49 dans le forum MFC
    Réponses: 2
    Dernier message: 24/08/2004, 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