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++Builder Discussion :

Tronquer un char


Sujet :

C++Builder

Vue hybride

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

    Informations forums :
    Inscription : Novembre 2006
    Messages : 40
    Par défaut Tronquer un char
    Bonjour à vous tous! bon le problème est expliqué dans le titre de discussion.

    Je voudrais savoir comment tronquer des caractères de mon char à partir des extrémités de celui-ci

    petit exemple :
    je souhaite tronquer le 1er mot à gauche de mon char

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    char test[10];
    test = "ah bonjour";
    //ici je ne sais pas quoi mettre pour supprimer des caractères de gauche de mon char test
    puts(test); //renvoi "bonjour" //on aura tronquer 3 caractères de gauche
    j'ai fais le tour de string.h même en essayant de bricoler avec strtok etc.. j'aimerais savoir s'il y a pas moyen d'envoyer mon char et un int (on va dire tronquer de l'extrémité gauche pour l'instant) et tronquer un nombre de caractères en fonction de mon int.
    En pointeur je m'y connais pas des masses mais si ça peut s'arranger avec ça sera pas de refus tant que ça marche

    Merci d'avance!

  2. #2
    Expert confirmé

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Par défaut
    Tu es obliger d'utiliser le char ? Car sinon il y a l'AnsiString sous Builder, et les fonctions Pos et Delete qui correspondrait avec ce que tu veut faire.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 40
    Par défaut
    Merci pour la réponse rapide
    bon je dois alors convertir mon char en string, en cherchant un peu je suis tombé sur ça :
    http://c.developpez.com/faq/cpp/?pag...INGS_from_char
    seulement je ne comprend pas ce que c'est le char*, apparement c'est un pointeur mais je ne sais pas comment ça marche

  4. #4
    Membre émérite
    Avatar de bandit boy
    Profil pro
    Inscrit en
    Février 2006
    Messages
    916
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 916
    Par défaut
    Salut
    Voilà un bout de code qui ne garde que le dernier mot
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
        char *test = "ah bonjour";
        AnsiString transfert = test;
        Label1->Caption = transfert;     //avant
        while(transfert.Pos(" "))
            transfert.Delete(1,transfert.Pos(" "));
        Label2->Caption = transfert;     //après: ne garde que le dernière mot

  5. #5
    Expert confirmé

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Par défaut
    ton tableau de char est deja en lui meme un char *, fait ceci :
    Code C++ : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    std::string str3;
    str3 = test ;
    //ou
    str3.assign(test);

    Ca devrais fonctionner.

  6. #6
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par défaut
    Salut Akeon
    Tu peut utiliser la fonction RightStr().
    Le texte tire de l'aide en ligne.
    Returns the substring of a specified length that appears at the end of a string.
    Unit
    StrUtils
    Category
    string handling routines
    extern PACKAGE AnsiString__fastcall RightStr(const AnsiString AText, int ACount);
    Description
    RightStr returns the trailing characters of AText up to a length of ACount characters. Thus, for example,
    RightStr("Programmer", 7)
    returns the string
    "grammer"

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 40
    Par défaut
    Merci les gars vos solutions marche c'est superb! !!

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 02/07/2003, 16h24
  2. [PostgreSql] Problème de cadreage de char !!!
    Par moipastoi dans le forum Requêtes
    Réponses: 3
    Dernier message: 08/05/2003, 18h01
  3. tronquer un fichier ?
    Par jbat dans le forum C
    Réponses: 12
    Dernier message: 10/04/2003, 12h52
  4. Réponses: 6
    Dernier message: 24/03/2003, 17h11
  5. Traitement d'un char* renvoyé par une DLL en C++
    Par LuluTchab dans le forum Langage
    Réponses: 4
    Dernier message: 22/03/2003, 21h48

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