Fermeture de fichier en C++

pi€rre Messages postés 76 Date d'inscription   Statut Membre Dernière intervention   -  
pi€rre Messages postés 76 Date d'inscription   Statut Membre Dernière intervention   -
Salut la compagnie, je suis sur un programme en C++ sous visual et j'ai un problème:
fclose(fic);
à l'éxecution j'ai l'erreur: User break point called from code at 0x7848018c
je vous remercie de m'aider
à +
A voir également:

22 réponses

Canard007 Messages postés 5931 Date d'inscription   Statut Contributeur Dernière intervention   215
 
break point ? c est sous debugger les break point...
c'est posible de voir ton code?
0
pi€rre Messages postés 76 Date d'inscription   Statut Membre Dernière intervention  
 
merci de ton aide, voici mon code:

dans le main:
/*fermeture des fichiers */
if (ferme_fic(fic_mid,fic_mif))
exit(-1);

int ferme_fic(FILE* fic_mid, FILE* fic_mif)
{
if (fclose(fic_mid))
{
printf("impossible de fermer le fichier .MID");
getchar();
return(-1);
}
if (fclose(fic_mif))
{
printf("impossible de fermer le fichier .MIF");
getchar();
return(-1);
}
return(0);
}
0
Canard007 Messages postés 5931 Date d'inscription   Statut Contributeur Dernière intervention   215
 
Bon a priori ya pas de prob pour moi ca marche,
le mieux c est de passer ton code au debugger et m'envoyer les lignes de code ou ca merde...
verifie aussi les pointeurs que tu file a ta fonction ..si ils sont nuls c est normal que ca merde..
si ils ont était modifié en cours de route c est normal aussi

#include <stdio.h> 
#include <stdlib.h>

//tester compilé debuggé ecexcuté ca marche sans probleme
//cela vient d'ailleur
//peut etre de l'ouverture des fichier..si ils ne sont pas ouverts
//ba ca merde forcement...


//ta fonction de fermeture
//juste un truc il vo mieux faire une fonction qui fermera un fichier a la fois
//dans le cas ou sa merde sur l un des deux ca foutera pas tout en l air...
int ferme_fic(FILE* fic_mid, FILE* fic_mif)
{ 
	if (fclose(fic_mid)) 
	{ 
		printf("impossible de fermer le fichier .MID"); 
		//pourquoi les gatchar??
		getchar(); 
		return(-1); 
	} 
	if (fclose(fic_mif)) 
	{ 
		printf("impossible de fermer le fichier .MIF"); 
		//pourquoi les gatchar??
		getchar(); 
		return(-1); 
	} 
	return(0); 
}


//le main que j ai fait pour test
void main () 
{ 
		FILE* fic1;
		FILE* fic2;
		
		//ouverture des fichiers
		fic1=fopen("h:\\test1.txt","r");
		fic2=fopen("h:\\test2.txt","r");
		
		
		//ton code
		if (ferme_fic(fic1,fic2)) 
			exit(-1); 
		else exit(0);

}


 


0
pi€rre Messages postés 76 Date d'inscription   Statut Membre Dernière intervention  
 
merci des conseils
En fait je viens de me rendre compte que j'ai l'erreur aussi pour tous les free que j'fai

les getchar() c parce que je fait exit et je vois pas mon printf sinon (c'est juste pour le degugage
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Canard007 Messages postés 5931 Date d'inscription   Statut Contributeur Dernière intervention   215
 
lol..
pour info le debuggage ca se fait pas en faisant des printf ^^
t'utilise quoi comme plateforme de dev?
0
pi€rre Messages postés 76 Date d'inscription   Statut Membre Dernière intervention  
 
je debug avec f10 f11 aussi sinon je travail avec visual
0
Canard007 Messages postés 5931 Date d'inscription   Statut Contributeur Dernière intervention   215
 
c'est une rolls ca...j ai le meme (enfin por le c/c++ en ce moment j fait du java alors c est plus eclipse...)
0
pi€rre Messages postés 76 Date d'inscription   Statut Membre Dernière intervention  
 
ca bug de tant en tant surtout quand tu fait des mfc

tu n'aurais pas une idée pour un pb que j'ai eu hier cf syntax error:
0
Canard007 Messages postés 5931 Date d'inscription   Statut Contributeur Dernière intervention   215
 
j retrouve pas le post fait un c/c ici avec le code qui merde j jetrai un oeuil dessus cet apre m si tu le post avant 18h sinon dem1 ;-)
0
pi€rre Messages postés 76 Date d'inscription   Statut Membre Dernière intervention  
 
C_foret::C_foret(C_foret *foret)
{
strcpy(nom, foret->nom);
zone=foret->zone;
}

syntax error '->'
0
Canard007 Messages postés 5931 Date d'inscription   Statut Contributeur Dernière intervention   215
 
sur la 1 ere ou la seconde ligne ou sur les 2?
c'est ton createur ca ..c'est possible d'avoir les declaration de la classe?
0
pi€rre Messages postés 76 Date d'inscription   Statut Membre Dernière intervention  
 
j'ai l'erreur au deux flèches et j'ai aussi l'erreur:
syntax error '.' pour les deux dans la surcharge de l'operateur egal
C_foret C_foret::operator=(C_foret foret)
{
zone=foret.zone;
strcpy(nom,foret.nom);
return(this);
}


voici ma classe:
class C_foret
{
public:
/* ATRIBUTS */
C_zone zone;
char nom[10];


/* METHODES */
C_foret(C_foret *foret);
C_foret(int taille_foret);
~C_foret();
affiche_foret();
C_foret operator=(C_foret foret);
};
0
Canard007 Messages postés 5931 Date d'inscription   Statut Contributeur Dernière intervention   215
 
je vais etre chiant mais pour tester je pourrai avoir la classe c_zone?
0
pi€rre Messages postés 76 Date d'inscription   Statut Membre Dernière intervention  
 
je peux t'envoyer un mail avec tout mon code ?par ce que se serait un peu long par le forum
0
Canard007 Messages postés 5931 Date d'inscription   Statut Contributeur Dernière intervention   215
 
oui pas de probleme..mon @ doit etre visible dans mon profil..
0
pi€rre Messages postés 76 Date d'inscription   Statut Membre Dernière intervention  
 
y a marqué ke t'a pas de profil :(
0
Canard007 Messages postés 5931 Date d'inscription   Statut Contributeur Dernière intervention   215
 
arf lol
effectivement yavai rien
...
normalement c est bon maintenant
0
pi€rre Messages postés 76 Date d'inscription   Statut Membre Dernière intervention  
 
voilà c fait merci encor de regarder
0
pi€rre Messages postés 76 Date d'inscription   Statut Membre Dernière intervention  
 
Eh canard si tu trouve pas c normal ca fait deux jours que je cherche sans resultats
0
pi€rre Messages postés 76 Date d'inscription   Statut Membre Dernière intervention  
 
J'AI TROUVE:
c'est dans foret.h:
il faut
#ifndef foret_h
#define foret_h
#endif  foret_h

et pas:
#ifndef foret
#define foret
#endif  foret
0