beeeeh
Messages postés6Date d'inscriptionvendredi 6 avril 2007StatutMembreDernière intervention 4 février 2008
-
3 févr. 2008 à 16:08
SAKingdom
Messages postés3212Date d'inscriptionlundi 7 novembre 2005StatutMembreDernière intervention16 février 2009
-
4 févr. 2008 à 15:58
Bonjour tout le monde,
Je fais des petits exos pour mettre à niveau et je bloque un peu la.
Lors de la libération de la mémoire dans le destructeur, le programme me renvoit un code erreur.
cs_jfrancois
Messages postés482Date d'inscriptionvendredi 26 août 2005StatutMembreDernière intervention 5 décembre 20092 4 févr. 2008 à 10:52
Effectivement, lecture rapide et je n'ais pas remarqué le +1.
Du coup, on a ici une erreur d'un autre genre (l'un des pires qui soit) : la variable mal nommée !
Ne pas confondre la longueur et la taille d'une chaîne de caractères.
Longueur = nombre de caractères = strlen().
Taille = place occupée = longueur + terminateur = strlen() + 1.
SAKingdom
Messages postés3212Date d'inscriptionlundi 7 novembre 2005StatutMembreDernière intervention16 février 200915 4 févr. 2008 à 15:58
Et encore, un caractère ne fait pas nécessairement un octet (UNICODE).
La variable est mal nommé ici en effet mais ça fait voir aussi autre chose: faut pas se fier non plus uniquement sur les noms de variable. Le contexte compte pour beaucoup (plus).