Bonjour,

J'ai souvent utilisé ce type de syntaxe:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
char buffer[BUFF_SIZE] = "titi";
sprintf(buffer, "%s toto", buffer);
Où ici buffer est en même source et destination.

Je n'ai jamais rencontré le moindre pb.

En utilisant l'outil "valgrind" pour détecter des fuites memoire, ce dernier m'avertissait de possible "overlapped copy" dans ce cas là.

Est-ce du zèle de sa part où y-a-t'il un réel risque en fonction des compilateurs ?
(En effet rien n'assure que la source ne sera pas en partie écrasé avant la fin de l'opération)

Merci d'avance pour lumières et explications