Rechercher : dans
Par :

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

Dernière réponse le 12 oct 2008 à 13:16:53 oupsman, le 28 sep 2008 à 21:39:09 
 Signaler ce message aux modérateurs

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) ?

Configuration: Linux
Firefox 2.0.0.17

Meilleures réponses pour « fopen(...) et fclose(...) avec Dev C++ » dans :
Compiler un programme en C avec Dev C++ sous Vista Voir Il est très probable que vous ayez des problèmes lors de la compilation d'une source C sous Vista avec Dev C++. Solution rapide de secours: le compilateur g++ Voici une astuce pour Dev-Cpp : Aller dans "Outils" -> "Options du compilateur" puis...

1

oupsman, le 11 oct 2008 à 22:56:00

C'est réglé, quand Dev-C++ ne trouve pas un fichier, il ferme direct la console. pffff

Répondre à oupsman

2

bizu53, le 11 oct 2008 à 23:39:05

ç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) ...

Répondre à bizu53

3

oupsman, le 12 oct 2008 à 07:22:45

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

Répondre à oupsman

4

 bizu53, le 12 oct 2008 à 13:16:53

"Je me trompe" ... non ... pas par rapport à ce que tu avais écrit, je ne suis pas devin ...

Répondre à bizu53
Collection CommentÇaMarche.net