[C] je suppose que c'est normal que fclose plante quand fopen=NULL ?!

je suppose que c'est normal que fclose plante quand fopen=NULL ?! [C] - Programmation

Marsh Posté le 21-03-2001 à 14:28:32    

Un programme fait :
 
  if (pt=fopen(.....)==NULL){
   .....
   .....
   fclose(pt);
    return;
  }
 
Le fclose fait planter le programme quand il passe ici. Moi ça me semble logique que sa plante si on ferme un id qui est à null, mais j'aimerais avoir confirmation avant de virer ce fclose !
 
Merci !

 

[edit]--Message édité par WhitePoney--[/edit]

Reply

Marsh Posté le 21-03-2001 à 14:28:32   

Reply

Marsh Posté le 21-03-2001 à 14:33:26    

ben oui, il faut le virer, tu cherches à fermer un fichier que tu n'as pas ouvert !!!
 
core dump RULEZZZZZZZZZZZZZZZZZ  :D:D:D

Reply

Marsh Posté le 21-03-2001 à 14:39:12    

hmm c'est bien ce que je me disais. çank you.

Reply

Marsh Posté le 21-03-2001 à 17:18:13    

ben oui la question était pardonner moi le terme evidente ...

Reply

Marsh Posté le 21-03-2001 à 17:21:19    

oui je voulais juste une(des) confimation(s).

Reply

Marsh Posté le 21-03-2001 à 22:41:52    

met ton fclose() apres le if!

Reply

Marsh Posté le 21-03-2001 à 22:49:46    

Comme les autres, je confirme que fclose(NULL) plante.
Mais je veux juste souligné le problème de parenthèses dans l'exemple :
 
if (pt=fopen(.....)==NULL)
   ...
 
qu'il faudrait écrire (car == plus prioritaire que = ) :
 
if ((pt=fopen(.....))==NULL)
   ...
 
Salutations

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed