Bonjour,

J'utilise la fonction suivante pour remplacer une sous-chaîne dans une chaîne.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
char *str_replace (char *str, char *orig, char *rep) {
	static char buffer[4096];
	char *p;
 
	if(!(p = strstr(str, orig)))  // Is 'orig' even in 'str'?
		return str;
 
	strncpy(buffer, str, p-str); // Copy characters from 'str' start to 'orig' st$
	buffer[p-str] = '\0';
 
	sprintf(buffer+(p-str), "%s%s", rep, p+strlen(orig));
 
	return buffer;
}
Mais elle ne remplace que la première occurrence de la sous-chaîne ? Savez-vous où trouver une fonction qui permette de remplacer toutes les occurrences d'une sous-chaîne ?