littledrummer
Messages postés2Date d'inscriptionjeudi 15 novembre 2007StatutMembreDernière intervention23 juin 2009
-
23 juin 2009 à 14:40
Pistol_Pete
Messages postés1053Date d'inscriptionsamedi 2 octobre 2004StatutMembreDernière intervention 9 juillet 2013
-
23 juin 2009 à 15:38
bonjour à tous.
J'ai un petit souci avec une allocation mémoire lorsque j'execute le code suivant:
string nomfichier=
"";cin>>nomfichier;
size_t taillenom = nomfichier.size();
char *nomfichierchar;nomfichierchar = (
char*)malloc(taillenom*
sizeof(
char));
for(
int vnom=0; vnom<taillenom;vnom++)nomfichierchar[vnom]=nomfichier[vnom];
Le résutat est un message dans le debugg qui dit : 0xcccccccc à la ligne char* nomfichierchar.
quelqu'un sait d'où ça peut venir????
Le probleme rest le meme avec 'new'
merci d'avance
Pistol_Pete
Messages postés1053Date d'inscriptionsamedi 2 octobre 2004StatutMembreDernière intervention 9 juillet 20137 23 juin 2009 à 15:02
Salut
Je ne vois pas de problème lors de l'allocation. Il faut cependant vérifier que taillenom soit bien différent de 0.
Et il faut aussi vérifier le retour de malloc. Si l'allocation échoue, nomfichierchar sera égale à 0.
A+
____________________________________________________________________________
Mon site internet :
http://ImAnalyse.free.fr
littledrummer
Messages postés2Date d'inscriptionjeudi 15 novembre 2007StatutMembreDernière intervention23 juin 2009 23 juin 2009 à 15:14
lors de l'allocatio mémoire exemple si taillenom vaut 10 il crée un tableau de 24 char.
le malloc s'execute mais pas correctement, je pense que sa vien du pointer nomfichierchar mais je ne vois pas ou.
Pistol_Pete
Messages postés1053Date d'inscriptionsamedi 2 octobre 2004StatutMembreDernière intervention 9 juillet 20137 23 juin 2009 à 15:38
Comme sizeof(char) = 1, si tu fais : malloc(10); Tu auras forcement alloué 10 octects.
Maintenant si tu essaies d'accéder tab[15], ton programme ne plantera pas forcement mais tu accèdes une zone mémoire interdite.
A+
____________________________________________________________________________
Mon site internet :
http://ImAnalyse.free.fr