void AJOUTE_CH(char *CH1, char *CH2) { while (*CH1) /* chercher la fin de CH1 */ CH1++; while (*CH2) /* copier CH2 à la fin de CH1 */ { *CH1 = *CH2; CH1++; CH2++; } *CH1='\0'; /* terminer la chaîne CH1 */ }
Solution plus compacte :
void AJOUTE_CH(char *CH1, char *CH2) { for ( ; *CH1 ; CH1++) ; for ( ; *CH1 = *CH2 ; CH1++, CH2++) ; }
Comme la conditon d'arrêt est évaluée lors de l'affectation, le symbole de fin de chaîne est aussi copié.