Bonjour, j'ai une chaine de caractère :
et j'aimerais supprimer le mot surplu de la chaine ainsi que l'anti-slash :Salut\comment\sava\surplu
mais je ne vois pas quel fonctions utiliser.Salut\comment\sava
Merci pour votre aide.
Bonjour, j'ai une chaine de caractère :
et j'aimerais supprimer le mot surplu de la chaine ainsi que l'anti-slash :Salut\comment\sava\surplu
mais je ne vois pas quel fonctions utiliser.Salut\comment\sava
Merci pour votre aide.
C'est assez simple: strstr() pour reperer la sous-chaine, et memmove() pour l'ecraser.
Bonjour,
Un extrait des pages sources C qui ne devrait plus tarder à arriver :Envoyé par benjiprog
Et tu fait :
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
21
22
23
24
25
26 #include <string.h> char *RemplacerFragment (char *source, char *vieux, char *nouveau) { char *original = source; char temp[256]; int ancienne_long = strlen (vieux); int i, j, k, place = -1; for (i = 0; source[i] && (place == -1); ++i) for (j = i, k = 0; source[j] == vieux[k]; j++, k++) if (!vieux[k+1]) place = i; if (place != -1) { for (j=0; j<place; j++) temp[j] = source[j]; for (i=0; nouveau[i]; i++, j++) temp[j] = nouveau[i]; for (k = place + ancienne_long; source[k]; k++, j++) temp[j] = source[k]; temp[j] = 0; for (i=0; source[i] = temp[i]; i++) ; } return original; }
Ici, tu ne remplace que la première occurance. Si tu veux remplacer toutes les occurences, j'ai un autre code mais plus long
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 char s[] = "Salut\comment\sava\surplu" RemplacerFragment (s, "sava\", "")
Partager