Bonsoir a vous,
Comment libérer l'espace mémoire occupée par la chaîne de caractère res?
De plus valgrind me donne se message
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 char *CopieLigne (const char *s) { int k = 0; char *res = malloc(sizeof(char)*strlen (s)); while (s[k]!='\n') { res[k] = s[k]; k++; } return res; } int main (void) { char *origine = "Bonjour\nComment allez vous?\n"; char *res = CopieLigne (origine); printf("%s\n",res); return 0; }
==4725== Conditional jump or move depends on uninitialised value(s)
==4725== at 0x401E215: strlen (mc_replace_strmem.c:246)
==4725== by 0x4088134: puts (in /lib/tls/i686/cmov/libc-2.3.6.so)
==4725== by 0x8048423: main
Merci pour votre aide
Partager