malloc qui n'alloue pas le bon nombre d'octet... - C - Programmation
Marsh Posté le 08-02-2004 à 12:52:10
strlen, c'est la taille d'une chaine de caractère
avec malloc, tu as alloué 10 octets, c'est tout
écrit d'abord une chaine dans chromosome si tu veux que ça marche
Marsh Posté le 08-02-2004 à 12:55:14
strlen va te retourner la position du premier '\0' de la chaine, pas la taille allouée...
Marsh Posté le 08-02-2004 à 12:55:18
*Syl* a écrit : sizeof() et pas besoin de cast pour le malloc |
ouais t'as tout compris toi
Marsh Posté le 08-02-2004 à 12:57:04
ReplyMarsh Posté le 08-02-2004 à 12:57:22
taz a écrit : ouais t'as tout compris toi |
ah oui, merde, j'avais pas fait gaffe, j'viens de me réveiller
Marsh Posté le 08-02-2004 à 12:58:04
et sizeof est un opérateur, pas une fonction bordel
sizeof variable
sizeof(type)
Marsh Posté le 08-02-2004 à 12:47:53
Il se passe un truc bizarre dans mon code, lorsque je fais ca:
char *chromosome=(char*)malloc(10);
printf("Taille de chromosome:%d\n", strlen(chromosome));
la valeur renvoye dans ce cas est 14.
J'ai essaye avec des autres valeurs: pour une taille de 1 octet alloue il me renvoie 5....
Je vais devenir fou....