Bonjour,![]()
Voilà je voudrais savoir comment faire pour chercher un caractère dans une chaine et le suprimer.![]()
merci d'avance
Bonjour,![]()
Voilà je voudrais savoir comment faire pour chercher un caractère dans une chaine et le suprimer.![]()
merci d'avance
Une boucle où tu recopies chaque caractères, sauf celui que tu veux pas, sur une nouvelle zone mémoire.
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 !
Comme cela, j'utiliserais d'abord la fonction strtok pour découper la chaine en deux parties dès que je rencontre ce fameux caractère à supprimer.Voilà je voudrais savoir comment faire pour chercher un caractère dans une chaine et le suprimer.
Celui ci ne sera pas présent dans aucune des deux chaines!
Ensuite, j'effectuerais une concaténation à l'aide de sprintf ou strcat avec ces deux chaines séparées par ton délimitteur (le caractère que tu désires supprimer)
![]()
Oui mais comment savoir la position du caractère dans la chaine
Pour trouver sa place : strchr() ou strrchr(). Ensuite, que veux tu dire par supprimmer ? Si il faut décaler les caractères qui sont après, il faut utiliser memmove().Envoyé par Clément76
Renseigne toi sur ces fonctions (http://man.developpez.com), puis écrit le code. Postes le si tu as un problème.
Attendais je vais etre plus clair,
voilà par exemple j'ai une chaine qui est egale a "abcdef".
dans cette chaine je veux savoir si il y a un "a".
si il y en a un je le supprime.
donc apres j'aurais chaine = "bcdef"
voilà c tous ce que je veux faire
merci pour votre aide
Tu parles du premier 'a', de tous les 'a', du dernier, du nième ? Il n'y en a qu'un ? On fait quoi si il n'y en a pas ?Envoyé par Clément76
Alors je t'ai donné la méthode en kit. A toi de jouer. On ne fourni pas de code.
C'est http://man.developpez.comEnvoyé par Emmanuel Delahaye
![]()
Ouiiiin, ça m'apprendra à le faire de tête...Envoyé par gege2061
Je corrige, merci.
Ca doit etre ca que tu veux:
Si ta chaine src c'est "tototo" et que caractere c'est 'o',
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 #include <stdio.h> #include <string.h> void supprimer_caractere(char *src,char* dst,char caractere) { int i,j,longueur_src; longueur_src=strlen(src); j=0; for(i=0;i<longueur_src;i++) { if(src[i]!=caractere) { dst[j]=src[i]; j++; } } }
dst sera "ttt"
NON. C'est au questionneur de chercher et de poster sa solution. Bien sûr que tu sais le faire, heureusement...Envoyé par drcd
Partager