[C sous Linux] Probleme avec un fichier deja fermé - Programmation
 


Sujet auquel vous répondez
Sujet : [C sous Linux] Probleme avec un fichier deja fermé
El Boubou Bonjour,

J'aurai besoin de savoir s'il existe une fonction sous Linux qui permet de savoir si un descripteur de fichier a déjà été fermé ou non.

Par exemple avec le code suivant:

Code :
  1. FILE *fic;
  2. fic = fopen("monfichier.txt", "a" );
  3. fclose(fic);
  4. // Insérer une fonction qui permet de déterminer si le fichier est fermé ou non



Je ne parle pas de savoir si la fermeture s'est bien déroulé, je peux vérifier avec un code d'erreur, mais juste savoir si le fichier à déjà été fermé auparavant.

Merci ^^


Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][flash]Insérer un code de video fourni[*]  
 
   [quote]
 


Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
coca25 1/ le pointeur n'est pas remis à NULL, tu devras le faire toi même
2/ un appel avec comme argument une valeur qui ne pointe vers rien résulte en un comportement indéfini.

 
Citation :

Si la fonction réussit intégralement, elle renvoie 0, sinon elle renvoie EOF et errno contient le code d'erreur. Dans tous les cas, tout autre accès ultérieur au flux (y compris un autre appel de fclose()) conduit à un comportement indéfini.


src: "man fclose"

 

tu devrais tout simplement le mettre à NULL une fois férmé

El Boubou Salut Vinz42,

C'est pas bête, j'ai pas pensé à utiliser un fseek par exemple. Si le fichier a déjà été fermé, il génère une erreur.

En tout cas merci :)
Vinz42 solution 1 : regarder si fic est null.
je ne sais pas si c'est le cas.

Solution 2 : appeler une fonction de lecture sur fic. si ça échoue, c'est que c'est fermé.
El Boubou Bonjour,

J'aurai besoin de savoir s'il existe une fonction sous Linux qui permet de savoir si un descripteur de fichier a déjà été fermé ou non.

Par exemple avec le code suivant:

Code :
  1. FILE *fic;
  2. fic = fopen("monfichier.txt", "a" );
  3. fclose(fic);
  4. // Insérer une fonction qui permet de déterminer si le fichier est fermé ou non



Je ne parle pas de savoir si la fermeture s'est bien déroulé, je peux vérifier avec un code d'erreur, mais juste savoir si le fichier à déjà été fermé auparavant.

Merci ^^

Liens