Probleme de creation de fichier avec DevC++ BloodShed 4.9.8.0 [Résolu]

Signaler
Messages postés
29
Date d'inscription
mercredi 27 octobre 2004
Statut
Membre
Dernière intervention
17 août 2007
-
Messages postés
221
Date d'inscription
mardi 12 août 2003
Statut
Membre
Dernière intervention
11 décembre 2008
-
Bonjour, donc moi j ai un petit probleme avec la creation d un fichier en utilisant des fonctions de haut niveau : fopen et fclose, lors de la compilation, un rapport d'erreur windows me signal que la fenetre va etre fermee car une erreur s est produite, la compilation, ne se termine donc pas et mon fichier ne veut pas etre creer
Alors qu avec les fonctions de bas niveau : creat et close, il n y pas de probleme , mon fichier est creer correctement ??
Je pense avoir declare, les prototypes, et les librairies correspondante correctement
Pouvez-vous m aider ?

Sachant que mon objectif est l ecriture dans un fichier, et que en utilisant les fonctions de niveau bat pour la creation, je n 'utilise pas de pointeur de position, donc par la suite je ne peux donc pas proceder a l'ecriture avec les fonctions de niveau haut ( je n ai pas trouve de fonctions de niveau bas qui me permettent d ecrire, je me vois donc oblige d'utilise celles du niveau haut,)
:

int fputc(int cara, FILE *point); necessite le *point que je n ai pas initialiser puisqu on me retourne un int :
int creat(const char *chem,int mode_crea);
normalement en utilisant la fonction de niveau haut fopen :
FILE *fopen(const char *nom, const char *mode);
j obtiens mon *point dont j ai besoin pour l ecriure dans le fichier
???

Merci d'avance opur votre aide


Le bonheur ne serait-il pas un mot inventé un jour d'ennui ?

5 réponses

Messages postés
221
Date d'inscription
mardi 12 août 2003
Statut
Membre
Dernière intervention
11 décembre 2008

j'oubliais, t'a les bon include et ton fichier existe (ouverture en lecture).

Chaque problème a sa solution. S'il n'y a pas de solution c'est qu'il n'y a pas de problème.
a+
Messages postés
221
Date d'inscription
mardi 12 août 2003
Statut
Membre
Dernière intervention
11 décembre 2008

un bout de code s'impose je pense...

Chaque problème a sa solution. S'il n'y a pas de solution c'est qu'il n'y a pas de problème.
a+
Messages postés
29
Date d'inscription
mercredi 27 octobre 2004
Statut
Membre
Dernière intervention
17 août 2007

c clair :)

FILE *fopen(const char *nom, const char *mode);
int fclose(FILE *pointfich);


main()
{
FILE *fp;
if ((fp=fopen("save.txt","r"))!=NULL)
printf("erreur lors de la creation");
else
printf("creation reussi");


fclose(fp);


system("PAUSE");
}




Le bonheur ne serait-il pas un mot inventé un jour d'ennui ?
Messages postés
29
Date d'inscription
mercredi 27 octobre 2004
Statut
Membre
Dernière intervention
17 août 2007

Excuse moi j'ai oublie au faite, lors que je compile il affiche quand meme "creation reussi" puis il y a une breve attente, de peut-etre 1ou 2s, puis le rapport d'erreur de windows apparait
je te remerci


Le bonheur ne serait-il pas un mot inventé un jour d'ennui ?
Messages postés
221
Date d'inscription
mardi 12 août 2003
Statut
Membre
Dernière intervention
11 décembre 2008

dans ton if ce n'est pas != mais == et faire un fclose sur un pointeur
NULL est risqué. Essai ça moi j'ai rien sous la main pour tester

FILE *fopen(const char *nom, const char *mode);
int fclose(FILE *pointfich);



main()
{
FILE *fp;
if ((fp=fopen("save.txt","r"))==NULL)
printf("erreur lors de la creation");
else

{

printf("creation reussi");

fclose(fp);

]




system("PAUSE");
}

Chaque problème a sa solution. S'il n'y a pas de solution c'est qu'il n'y a pas de problème.
a+