Fopen(...) et fclose(...) avec Dev-C++

Résolu/Fermé
oupsman Messages postés 316 Date d'inscription mercredi 26 décembre 2007 Statut Membre Dernière intervention 22 octobre 2008 - 28 sept. 2008 à 21:39
bizu53 Messages postés 1274 Date d'inscription samedi 30 août 2008 Statut Membre Dernière intervention 21 juin 2015 - 12 oct. 2008 à 13:16
Bonjour,

J'ai un programme en langage C, et j'ai un problème avec Dev-C++
Mon programme est le suivant :

int main(void){
FILE * fic;
fic = fopen("fichier_1", "r");
fclose("fichier_1");
getchar();
return 0;
}


Le problème vient di fait que fichier_1 se trouve dans mon répertoire personnel. Je vais dans mon repertoire, je clique droit dessus, je selectionne "copier" avec la souris, ensuite quand je fais "coller" dans le repertoire de Dev-C++, je ne vois pas le fichier. Pourtant quand je refais une 2ème fois la même opération, il me dit si je veux écraser fichier_1 (ce qui veut dire qu'il y est déjà mais pourquoi est-ce qu'on ne voit rien) ?

1 réponse

oupsman Messages postés 316 Date d'inscription mercredi 26 décembre 2007 Statut Membre Dernière intervention 22 octobre 2008 10
11 oct. 2008 à 22:56
c'est réglé, quand Dev-C++ ne trouve pas un fichier, il ferme direct la console. pffff
-1
bizu53 Messages postés 1274 Date d'inscription samedi 30 août 2008 Statut Membre Dernière intervention 21 juin 2015 861
11 oct. 2008 à 23:39
ça n'a rien à voir avec Dev-c++ ton problème ... tu ne fais aucun test pour savoir si le fopen() se fait bien ! donc c'est normal que quand la machine passe aux instructions suivantes de ton programme, forcément ça plante puisque ton pointeur de fichier ne pointe pas vers le fichier ... tu fclose() qqch qui n'est même pas un fichier ouvert (dans le cas où le fopen() ne fonctionne pas) ...
-1
oupsman Messages postés 316 Date d'inscription mercredi 26 décembre 2007 Statut Membre Dernière intervention 22 octobre 2008 10 > bizu53 Messages postés 1274 Date d'inscription samedi 30 août 2008 Statut Membre Dernière intervention 21 juin 2015
12 oct. 2008 à 07:22
salut, là tu te trompes car mon code fait ce test :

int main(void)
{
....
FILE * fic;
...
....
.....
if((fic=fopen(fic, "r")) == NULL)
{
printf("\nErreur d'ouverture du fichier\n");
getchar();
return 0;
}
else printf("\nLe fichier a bien été ouvert\n");

getchar();
return 0;
}


Donc s'il ne peut pas ouvrir le fichier comme tu dis, il doit m'afficher un message d'erreur et étant donné qu'il y a le getchar() avant return 0 dans le bloc de if si la conditon est vraie, Dev-C++ est censé ne pas fermer directement la console
-1
bizu53 Messages postés 1274 Date d'inscription samedi 30 août 2008 Statut Membre Dernière intervention 21 juin 2015 861 > oupsman Messages postés 316 Date d'inscription mercredi 26 décembre 2007 Statut Membre Dernière intervention 22 octobre 2008
12 oct. 2008 à 13:16
"Je me trompe" ... non ... pas par rapport à ce que tu avais écrit, je ne suis pas devin ...
-1