Trouver l'etat d'un fichier

Trouver l'etat d'un fichier - C - Programmation

Marsh Posté le 17-05-2004 à 14:18:26    

Salut,
 
Je voudrais juste savoir comment on fait pour connaitre le state d'un fichier.
 
Les states:
  Ouvert en lecture, fermé, Ouvert en ecriture, ...


---------------
Make a VS Program.
Reply

Marsh Posté le 17-05-2004 à 14:18:26   

Reply

Marsh Posté le 17-05-2004 à 14:40:40    

Un fichier que t'as ouvert toi ou ouvert depuis une autre appli ?
Si c'est toi : hum, y'a un pblm de conception
Si c'est pas toi : un fichier peut avoir plusieurs "state" car ouvert pas plusieurs applis...

Reply

Marsh Posté le 18-05-2004 à 09:19:10    

HelloWorld a écrit :


Si c'est pas toi : un fichier peut avoir plusieurs "state" car ouvert par plusieurs applis...


 
En fait c'est pas moi qui les ouvrent mais y faut pas qu'un programme lise le fichier et que l'autre essaye d'ecrire dedans, il faut que je synchronise le tout mais comment faire ca? :pfff:


---------------
Make a VS Program.
Reply

Marsh Posté le 18-05-2004 à 09:27:16    

Il me semble que tu as des fonctions spécifiques au système pour faire ce genre de trucs...(dans un header <sys/[...].h> sous linux).
Par contre je suis incapable te te dire exactement lesquelles exactement, trop longtemps que j'ai pas fait ce genre de conneries...


Message édité par skeye le 18-05-2004 à 09:27:54
Reply

Marsh Posté le 18-05-2004 à 09:31:25    

Sous Unix ?
Je ne crois pas que ce soit possible en C/C++ standard. T'es pas garantit que ça marche. Sous Windows tu peux être informé de la modification d'un fichier, sous Unix il faut tenter de lire de temps en temps dedans. Le probleme des flux standards c'est que l'erreur de lecture peut persister même après un clear()...


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Marsh Posté le 18-05-2004 à 09:34:33    

HelloWorld a écrit :

Sous Unix ?
Je ne crois pas que ce soit possible en C/C++ standard. T'es pas garantit que ça marche. Sous Windows tu peux être informé de la modification d'un fichier, sous Unix il faut tenter de lire de temps en temps dedans. Le probleme des flux standards c'est que l'erreur de lecture peut persister même après un clear()...


Oui sous unix/linux il me semble qu'il y a moyen via un header de style sys/kekchose.h...mais je peux me tromper.

Reply

Marsh Posté le 18-05-2004 à 09:42:46    

Merci blabla@OSA!
sys/stat.h

Reply

Marsh Posté le 18-05-2004 à 09:52:35    

Je vois pas trop en quoi ça va lui être utile...


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Marsh Posté le 18-05-2004 à 10:38:52    

MK Prog a écrit :

Salut,
 
Je voudrais juste savoir comment on fait pour connaitre le state d'un fichier.
 
Les states:
  Ouvert en lecture, fermé, Ouvert en ecriture, ...

abruti :o

Reply

Marsh Posté le 18-05-2004 à 11:09:08    

tu l'ouvre, t'essaye d'ecrire, si ca pete c qu'il est deja utilisé ...

Reply

Marsh Posté le 18-05-2004 à 11:09:08   

Reply

Marsh Posté le 18-05-2004 à 11:41:03    

DjobiDjoba a écrit :

tu l'ouvre, t'essaye d'ecrire, si ca pete c qu'il est deja utilisé ...


 
Tu c'est les methode de barbare j'evite...


---------------
Make a VS Program.
Reply

Marsh Posté le 18-05-2004 à 11:42:21    


 
Quoi abruti? Si tu sais comment synchroniser des ouvertures et fermetures de fichiers dit le mais arrete de te foutre de la gueule des gens.


---------------
Make a VS Program.
Reply

Marsh Posté le 18-05-2004 à 11:43:47    

:cry:  
 
Pour tous les autre merci je vais voir dans <sys/stat.h>
 
 :sarcastic:


---------------
Make a VS Program.
Reply

Marsh Posté le 18-05-2004 à 11:43:55    

MK Prog a écrit :

Tu c'est les methode de barbare j'evite...


c simplement utiliser les codes de retour des fonctions :/

Reply

Marsh Posté le 18-05-2004 à 11:44:33    

MK Prog a écrit :

Quoi abruti? Si tu sais comment synchroniser des ouvertures et fermetures de fichiers dit le mais arrete de te foutre de la gueule des gens.


 
[:cupra]

Reply

Marsh Posté le 18-05-2004 à 11:45:00    

:pt1cable:  
 
Oui je sais mais y bien une fonction de syncro qui existe sous unix non!!!
 
 :pt1cable:


---------------
Make a VS Program.
Reply

Sujets relatifs:

Leave a Replay

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