Access Violation avec un new char

Signaler
Messages postés
16
Date d'inscription
lundi 12 juillet 2004
Statut
Membre
Dernière intervention
13 août 2004
-
Messages postés
16
Date d'inscription
lundi 12 juillet 2004
Statut
Membre
Dernière intervention
13 août 2004
-
Bonjour,

mon application pour Smartphone 2003 plante toujours au même endroit (l'appli se ferme). Si je débugge, je constate un "0xC0000005 : Access Violation" lorsque je tente d'allouer l'espace mémoire nécessaire pour mon char*.

//Création d'un handle sur le fichier texte sélectionné
hfile = CreateFile(pathfileU,GENERIC_READ,0,NULL,OPEN_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);
bsize = GetFileSize(hfile, NULL);
char* textA = new char[bsize+1];

Je ne vois vraiment pas où est le probème, pourquoi il plante. Quelqu'un pourrait m'aider, svp? Merci d'avance.
Sylvie

5 réponses

Messages postés
3011
Date d'inscription
jeudi 26 septembre 2002
Statut
Membre
Dernière intervention
27 novembre 2004
8
new degage une exception std::bad_alloc et met le pointeur à NULL (0) dans le cas ou l'allocation ne s'est pas faite

if( !textA )
{
// pas d'allocation possible
}

l'access violation vient apres?
Messages postés
71
Date d'inscription
mardi 30 mars 2004
Statut
Membre
Dernière intervention
12 août 2004

pathfileU est un pointeur est ce que tu as fais l'allocation nécessaire lors de sa déclaration.
peut être que l'allocation ne se réalise pas correctement
Messages postés
71
Date d'inscription
mardi 30 mars 2004
Statut
Membre
Dernière intervention
12 août 2004

pathfileU est un pointeur est ce que tu as fais l'allocation nécessaire lors de sa déclaration.
peut être que l'allocation ne se réalise pas correctement
Messages postés
3011
Date d'inscription
jeudi 26 septembre 2002
Statut
Membre
Dernière intervention
27 novembre 2004
8
pathfileU peut aussi etre un tableau ou pointer vers une chaine litterale
Messages postés
16
Date d'inscription
lundi 12 juillet 2004
Statut
Membre
Dernière intervention
13 août 2004
2
Merci pour toutes vos suggestions. En effet, avant mon new char, j'allouais mal de la mémoire , ce qui faisait tout foirer.
Sylvie