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 :

supprimer des caracteres a la fin d'unechaines


Sujet :

C++

  1. #1
    Membre actif
    Avatar de warubi
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    399
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 399
    Points : 204
    Points
    204
    Par défaut supprimer des caracteres a la fin d'unechaines
    Bonjour a tous ! J'aimerais supprimer les cinq derniers caracteres d'une chaines
    Merci d'avance !

  2. #2
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    161
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 161
    Points : 185
    Points
    185
    Par défaut
    Ta chaine c'est une char * ou une string ?
    Dans le cas d'un char * il suffit de mettre le (n-5)e caractère à '\0'

  3. #3
    Membre actif
    Avatar de warubi
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    399
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 399
    Points : 204
    Points
    204
    Par défaut
    C'est un string !

  4. #4
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    161
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 161
    Points : 185
    Points
    185
    Par défaut
    alors tu peux utiliser erase.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    string s("abcdefghi");
    s.erase(s.end()-5, s.end());
    J'ai pas testé mais ça doit être à peut près ça.

  5. #5
    Membre actif
    Avatar de warubi
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    399
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 399
    Points : 204
    Points
    204
    Par défaut
    Ca ne marche pas ! Voici le message d'erreur :

    `__gnu_cxx::__normal_iterator<char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >' to non-scalar type `std::basic_string<char, std::char_traits<char>, std::allocator<char> >' requested

  6. #6
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    161
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 161
    Points : 185
    Points
    185
    Par défaut
    Chez moi ce code fonctionne.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    #include <string>
    #include <iostream>
     
    int main (void) {
            std::string s("abcdef");
            s.erase(s.end()-2,s.end());
            std::cout << s.c_str() << std::endl;
            return 0;
    }

  7. #7
    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 : 40
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Pour l'erreur : je ne crois pas que les itérateurs de string soient à accès aléatoire, d'où impossibilité d'écrire "s.end() - 5".

    A part ça, est-ce que tu as commencé par regarder les fonctions fournies par std::string ? Il n'y en a pas quelques unes qui t'ont interpellé du genre resize ou substr ?

  8. #8
    Membre actif
    Avatar de warubi
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    399
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 399
    Points : 204
    Points
    204
    Par défaut
    Excuse-moi j'ai fait une erreur ! J'allais justement effacer mon message lorsque tu a posté

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

Discussions similaires

  1. [MySQL] supprimer des caractere dans mysql
    Par hassan0379 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 26/03/2011, 22h28
  2. Eliminer des caracteres aleatoires en fin de string
    Par Prismical dans le forum Modélisation
    Réponses: 2
    Dernier message: 30/05/2007, 01h26
  3. comment supprimer des caracteres en fin de chaines
    Par BernardT dans le forum Langage
    Réponses: 1
    Dernier message: 19/07/2006, 17h41
  4. Supprimer des caractères avec une requête
    Par Daniel MOREAU dans le forum Access
    Réponses: 3
    Dernier message: 23/05/2006, 23h28
  5. Réponses: 4
    Dernier message: 19/06/2004, 22h28

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