Ceci fonctionne mais est-ce correct (mise à part la gestion de l'erreur, je cherche des informations sur perror pour cela ) ? Ce qui m'ennuie c'est que je ne peux pas faire de free sur RetourRealloc sinon je libère aussi s1 puisqu'il pointe dessus.
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 char *str_cpy( char *s1, char *s2 ) { s1=NULL; char *RetourRealloc=(char *)realloc( s1, (LongueurChaine(s2)+1)*sizeof( char ) ); if ( RetourRealloc != NULL ) { s1 = RetourRealloc; int i; for ( i=0 ; i<=LongueurChaine(s2) ; i++ ) { s1 = RetourRealloc; s1[i] = s2[i]; } } else printf("erreur"); return s1; }
Merci






Répondre avec citation



Partager