malloc qui n'alloue pas le bon nombre d'octet...

malloc qui n'alloue pas le bon nombre d'octet... - C - Programmation

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....  

Reply

Marsh Posté le 08-02-2004 à 12:47:53   

Reply

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

Reply

Marsh Posté le 08-02-2004 à 12:52:38    

sizeof() et pas besoin de cast pour le malloc

Reply

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...


---------------
On ne vit qu'une fois, mais pour qui sait vivre, une seule fois suffit (Merril Stubbing)
Reply

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


Message édité par Taz le 08-02-2004 à 12:55:25
Reply

Marsh Posté le 08-02-2004 à 12:57:04    

taz a écrit :

ouais t'as tout compris toi


 
il avait déjà bon pour le cast :whistle:

Reply

Marsh 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 [:joce]

Reply

Marsh Posté le 08-02-2004 à 12:58:04    

et sizeof est un opérateur, pas une fonction bordel
 
sizeof variable
sizeof(type)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed