Bonsoir,
J'essaye de réecrirre la fonction memset en fonction de ce que me dis le man, cependant comment contrôler le fait que len ne dois pas être négative ?
Si j'essaye d'appeler la fonction comme ça my_memset(b,2,-1), (len négative) => segmentation fault. Je comprend parfaitement l'erreur, je sors des limites de ma variable s.
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 void *my_memset(void *b, int c, size_t len) { unsigned char *s; size_t i; i = 0; s = (unsigned char*) b; while (i < len) { s[i] = (unsigned char)c; i++; } return (b); }
La fonction standard memset quand à elle gére bien ce cas puisqu'elle me renvoi : abort ...
Merci pour vos explications.
Partager