begin process at 2012 05 30 04:27:49
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Divers

 > 

Débutant(e)

 > 

SUPPRIMER LES CARACTERES D'UNE CHAINE


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

SUPPRIMER LES CARACTERES D'UNE CHAINE

jeudi 1 juin 2006 à 18:42:52 | SUPPRIMER LES CARACTERES D'UNE CHAINE

Batman60

bonjour
comment procéder pour supprimer quelques derniers caractères d'une chaine
merci
char ChaineCaractères[MAX_PATH];
jeudi 1 juin 2006 à 18:46:19 | Re : SUPPRIMER LES CARACTERES D'UNE CHAINE

ben92600

ba soit tu refait une chaine ou tu les retire soi tu renplace ces carateres par des \0 pouisque ce son les dernier de la cahine sa posera pas de probleme ;)
jeudi 1 juin 2006 à 19:53:19 | Re : SUPPRIMER LES CARACTERES D'UNE CHAINE

SAKingdom

Membre Club
Réponse acceptée !
Tien essais cette fonction à cette addresse:
http://www.codyx.org/snippet_effacer-caracteres-partir-fin_168.aspx

___________________________________________
Les plus grands esprits trouvent toujours une solution

jeudi 1 juin 2006 à 20:06:40 | Re : SUPPRIMER LES CARACTERES D'UNE CHAINE

vecchio56

Administrateur CodeS-SourceS
C'est même pas utile de mettre tous la caractères à zéro, seul le premier est important: void EraseLastChar (char *value, int count) { *(value + strlen(value) - count) = 0; }
jeudi 1 juin 2006 à 20:14:02 | Re : SUPPRIMER LES CARACTERES D'UNE CHAINE

SAKingdom

Membre Club
Oui on peu aussi faire quelque chose comme ça:

void EraseLastChar (char *value, int count)
{
    char *c = value;

    while(*(++c));

    *(c-count) = 0;
}

Je modifirais bien ma fonction sur Codyx mais je suis pas encore capable (problème avec les routines qu'a dit Nix je crois)

___________________________________________
Les plus grands esprits trouvent toujours une solution

jeudi 1 juin 2006 à 20:30:20 | Re : SUPPRIMER LES CARACTERES D'UNE CHAINE

vecchio56

Administrateur CodeS-SourceS
Ta variable c ne sert a rien, autant utiliser value directement Et tu as quelque chose contre strlen?
jeudi 1 juin 2006 à 20:32:12 | Re : SUPPRIMER LES CARACTERES D'UNE CHAINE

SAKingdom

Membre Club
Ben c qu'on peut faire directement l'opération de strlen sans passer par lui. C'est plus rapide non? Pas besoin de l'appeler.

___________________________________________
Les plus grands esprits trouvent toujours une solution

jeudi 1 juin 2006 à 20:34:51 | Re : SUPPRIMER LES CARACTERES D'UNE CHAINE

vecchio56

Administrateur CodeS-SourceS
strlen doit être optimisé donc peut être plus rapide
jeudi 1 juin 2006 à 20:46:38 | Re : SUPPRIMER LES CARACTERES D'UNE CHAINE

SAKingdom

Membre Club
Tien j'ai fais un listing de ta fonction et de la mienne. Voici la tienne:

    mov    edx, DWORD PTR _value$[esp-4]
    push    edi
    mov    edi, edx
    or    ecx, -1
    xor    eax, eax
    repne scasb
    mov    eax, DWORD PTR _count$[esp]
    pop    edi
    not    ecx
    dec    ecx
    sub    edx, eax
    mov    BYTE PTR [ecx+edx], 0

    12 opérations et ce sans compter les opérations de strlen

Voici la mienne:

    mov    eax, DWORD PTR _value$[esp-4]
    inc    eax
    cmp    BYTE PTR [eax], 0
    je    SHORT $L57476
$L57475:
    mov    cl, BYTE PTR [eax+1]
    inc    eax
    test    cl, cl
    jne    SHORT $L57475
$L57476:
    sub    eax, DWORD PTR _count$[esp-4]
    mov    BYTE PTR [eax], 0

    10 opérations

C'est pas moi qui a inventé ce codage. C'est généré avec le compilateur. En plus, j'ai activé les options du compilateur pour une optimisation de la vitesse.

___________________________________________
Les plus grands esprits trouvent toujours une solution

jeudi 1 juin 2006 à 20:51:04 | Re : SUPPRIMER LES CARACTERES D'UNE CHAINE

vecchio56

Administrateur CodeS-SourceS
Et?? Tu vois comme ca laquelle est la plus rapide? Une code plus court n'est pas forcément plus rapide Peut être que ta fonction est plus rapide, mais faudrait tester pour voir.

1 2 3

Cette discussion est classée dans : chaine, supprimer, caracteres


Répondre à ce message

Sujets en rapport avec ce message

Urgent:supprimer une chaine d'un fichier [ par rene77 ] Bonjour à tous, J'ai besoin de supprimer des chaines de caractères d'un fichier txt.Je travaille sous Builder et j'y arrive pas !!!OUINNNN OUINNNS'il Chaine de caracteres !!! [ par mantalotus ] Comment puis-je transformer un chaine de caractères en une chaine de bits et inversement.Merci de votre aide. supprimer des caracteres specifiques [ par header ] J'ai une chaine de caractere CString de forme : [abcdefgh]Je n'arrive pas a supprimer les accolades("[" et "]").G tenté le m_machaine.Delete mais ca Chaine de caracteres [ par youssef22 ] Bonjour,Je suis entrain d'ecrire un petit programme qui genere a chaque fois un mot, et affiche le mot sous forme de tirets, et demande a l'utilisateu Pb de reallocation d'un tableau de chaine de caracteres [ par kobee12 ] J'ai un petit probleme. En effet j'ai un tableau defini de la maniere suivante : char* tab[12];Je charge des chaines de caracteres dans mon tableau. E Chaine de caracteres [ par LordBob ] Salut a tous,voila j'ai une question seulement, je ne sais pas trop comment la poser ou plutot l'expliquer... Alors, je vais faire comme je peux... al Troncature à l'unité ou selection de caracteres dans une chaine [ par zelze ] Voila mon problème:Je débute a peine au C++ et j'ai déjà un problème, j'ai besoin de faire la troncature a l'unité d'un nombre, pouvez vous m'aider?Ou Envoyer une chaine de caracteres a une autre appli [ par fredcpp ] Bonjour,Je cherche a envoyer une chaine de caractere depuis mon programme vers une appli windows ( notepad par exemple ).Tout ca de facon a ce que l'a Supprimer un mot d'une chaine [ par daivil ] Bonjour à tous les amis codeurs ^^Aujourd'hui j'ai un petit problèmeJ'aimerais créer une fontion récursive qui enlève un mot d'une chaine selon le pro chaine de caractere de taille variable [ par habibdu70 ] slt,savez vous comment modifier la taille d'une chaine de caractere ?par exemple si le nom de fichier fait 8 caracteres, je creai un fichier de 8 cara


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,733 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales