Fopen fseek ftell fread ?

Signaler
Messages postés
20
Date d'inscription
lundi 14 juin 2004
Statut
Membre
Dernière intervention
25 août 2005
-
Messages postés
1536
Date d'inscription
samedi 21 décembre 2002
Statut
Membre
Dernière intervention
24 mai 2009
-
salut a tous.

Voila j'ai un petit probleme d'execution de mon programme.
Lors de la compilation j'ai aucune erreur puis lorsque je l'execute une fenetre apparait dans laquelle il est ecrit:
Access Violation 0x000000005 un truc comme ca.

voici le code:

FILE * pFile;
long lSize;
char * buffer;
// char * protocole;

// ouverture du fichier kgr
pFile = fopen(fichier,"r");
// if (pFile!=NULL) {exit;}

// taille du fichier kgr
fseek(pFile, 0, SEEK_END);
lSize = ftell(pFile);
rewind (pFile);

// allocation memoire
buffer = (char*)malloc (lSize);
if (buffer == NULL) {exit (2);}

// copie pFile dans un buffer.
fread(buffer,1,lSize,pFile);

fclose (pFile);
return buffer;
}

Si quelqu'un peut me dire d'ou ca viens.
merci

5 réponses

Messages postés
1536
Date d'inscription
samedi 21 décembre 2002
Statut
Membre
Dernière intervention
24 mai 2009
2
Jne vois kun probable probleme : ton entier lSize est surement mal initialisé, verifie sa valeur avec un printf...

++

Alhexman
Messages postés
20
Date d'inscription
lundi 14 juin 2004
Statut
Membre
Dernière intervention
25 août 2005

merci de ta reponse, mais a priori le probleme ne vient pas de là, j'ai initialisé lSize a 0, il m'affiche bien 0, et le message dit en fait:" DEBUG ASSERTION FAILED
FILE: fseek.c
Line: 101
EXPRESSION: stream!=NULL
..."

Je sais pas ce que tu en pense mais j'ai essayé de regarder fseek.c et j'y est rien compris. Si tu pouvais eclairé ma lanterne car j suis dans le noir complet.

merci
Messages postés
1536
Date d'inscription
samedi 21 décembre 2002
Statut
Membre
Dernière intervention
24 mai 2009
2
Je vois pas trop, mais essaye de verifier toutes tes variables, certainement kune d'entre elles est mal initialisé...
// ouverture du fichier kgr
pFile = fopen(fichier,"r");
if (pFile!=NULL) {exit;} //Tu as mis si le FILE* est different de NULL, kiter !? C'est s'il est nul que la fonction fopen n'a pas marché !

Bon ca va etre assez pénible de verifier chak variable, mais c skil faut faire.

++

Alhexman
Messages postés
20
Date d'inscription
lundi 14 juin 2004
Statut
Membre
Dernière intervention
25 août 2005

j'y comprend plus rien, j'ai executé cette partie dans un projet a part et le code fonctionne correctement.
Y a t'il possibilité d'avoir incompatibilité d'une fontion suivant ou elle est utilisée?

@+

fr_ed_er_ic
Messages postés
1536
Date d'inscription
samedi 21 décembre 2002
Statut
Membre
Dernière intervention
24 mai 2009
2
lol !

Jsui dsl, mais la jvois pas non plus...
Si tu veux m'envoyer le code, si j'ai du temps, je jetterai un coup d'oeil dessus, mais jte promets rien ! alhexman@tiscali.fr

++

Alhexman