IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Perl Discussion :

Lire un fichier ouvert en écriture


Sujet :

Langage Perl

  1. #1
    Membre du Club
    Inscrit en
    Novembre 2005
    Messages
    110
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 110
    Points : 47
    Points
    47
    Par défaut Lire un fichier ouvert en écriture
    Bonjour,

    est-il possible de lire le contenu d'un fichier qui est ouvert en ecriture? En fait j'ecris dedans petit a petit et un autre processus devrait pouvoir lire ce qu'il y a dans le fichier... Je n'y arrive pas. J'ai essaye differentes choses parmis lesquelles vider les buffers de sortie mais ca ne change rien

    Si vous avez une idee...

  2. #2
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    D'abord, ça dépend de l'OS, ensuite une fois que tu as atteint la fin du fichier, si tu veux pouvoir lire la suite que tu viens d'écrire il faut faire un seek() de façon à réinitialiser le statut du fichier (sinon il est persuadé d'avoir déjà rencontré EOF et ne te laisse pas lire plus loin). Essaye déjà ça, et si ça ne marche pas, tu nous montre ton code pour qu'on te dise ce qui cloche.

    --
    Jedaï

  3. #3
    Membre du Club
    Inscrit en
    Novembre 2005
    Messages
    110
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 110
    Points : 47
    Points
    47
    Par défaut
    Je comprend... mais bon, je pense que ca sera du chippo non?
    Et si j'utilisais des pipes nomes? Ca serait plus pratique. Le probleme est que je ne connais pas le nombre de processus qui communiquent entre eux.

    En fait, j'aimerai creer un petit chat pour reseau local sur windows. J'ai decouvert qu'il y a un module pipe pour windows - Win32:ipe
    Je reflechis toujours a la maniere de le faire...

    Est ce qu'il est possible d'utiliser des messages queues sous windows?

  4. #4
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Citation Envoyé par mrttlemonde
    Je comprend... mais bon, je pense que ca sera du chippo non?
    Et si j'utilisais des pipes nomes? Ca serait plus pratique. Le probleme est que je ne connais pas le nombre de processus qui communiquent entre eux.

    En fait, j'aimerai creer un petit chat pour reseau local sur windows. J'ai decouvert qu'il y a un module pipe pour windows - Win32:ipe
    Je reflechis toujours a la maniere de le faire...

    Est ce qu'il est possible d'utiliser des messages queues sous windows?
    Si tu contrôles tous les processus et qu'il ne s'agit pas obligatoirement de lire la fin d'un fichier qu'on est en train d'écrire (comme pour écrire un équivalent à tail par exemple File::Tail), alors passer par un tel fichier pour l'IPC entre plusieurs processus n'est sûrement pas la meilleure solution !!
    Je te conseillerais même d'utiliser des sockets, à mon avis la mise en oeuvre sera plus robuste qu'une multitude de pipe nommés et en plus tu pourras faire tourner tes programmes sur le réseau sans effort supplémentaire.

    --
    Jedaï

  5. #5
    Membre chevronné
    Avatar de Woufeil
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    1 076
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 1 076
    Points : 2 004
    Points
    2 004
    Par défaut
    Citation Envoyé par Jedai
    alors passer par un tel fichier pour l'IPC entre plusieurs processus n'est sûrement pas la meilleure solution !!
    Rhooo, tu nous ferais pas une petite redondance là ?

    Citation Envoyé par Jedai
    Je te conseillerais même d'utiliser des sockets, à mon avis la mise en oeuvre sera plus robuste qu'une multitude de pipe nommés et en plus tu pourras faire tourner tes programmes sur le réseau sans effort supplémentaire.
    En effet, pour ce genre de problèmes, je pense qu'utiliser les sokets est la meilleure solution...
    D'autant qu'un pipe est unidirectionnel, ce qui est plutôt un d"faut dans ton cas...
    "En essayant continuellement, on finit par réussir. Donc : plus ça rate, plus on a de chances que ça marche" (devise Shadock)
    Application :

    ainsi qu'à regarder la avant de poser une question.

    La rubrique Perl recrute, contactez-moi.

  6. #6
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Citation Envoyé par Woufeil
    Rhooo, tu nous ferais pas une petite redondance là ?
    Moui, mais c'était pour placer mon plusieurs (sous-entendu : plus que deux)... C'est sûr que de l'IPC entre processus...

    --
    Jedaï

  7. #7
    Membre du Club
    Inscrit en
    Novembre 2005
    Messages
    110
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 110
    Points : 47
    Points
    47
    Par défaut
    Oui, jai pense utiliser les socket mais je n'arrive pas a trouver LE bon tutoriel.
    Je pourrais tres bien l'ecrire sans comprendre mais c'est pas tres malin.

  8. #8
    Membre du Club
    Inscrit en
    Novembre 2005
    Messages
    110
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 110
    Points : 47
    Points
    47
    Par défaut
    Quoi que... celui-ci a l'air pas si mal que ca !

    http://www.cs.cf.ac.uk/Dave/PERL/node168.html

    Qu'en pensez vous?

Discussions similaires

  1. Lire un fichier excel déja ouvert
    Par sihammaster dans le forum VB.NET
    Réponses: 2
    Dernier message: 01/06/2011, 16h50
  2. Lire un fichier Log distant en écriture permanante.
    Par inflation dans le forum Logging
    Réponses: 1
    Dernier message: 27/04/2011, 14h45
  3. lire l'extension d'un fichier ouvert
    Par flo_987 dans le forum C++Builder
    Réponses: 4
    Dernier message: 31/05/2010, 13h56
  4. [C#]Lire un fichier excel 2007 déjà ouvert
    Par dinier dans le forum C#
    Réponses: 7
    Dernier message: 23/02/2010, 20h13
  5. [Turbo Pascal] Fichier non ouvert en écriture ou fichier introuvable
    Par dourpil dans le forum Turbo Pascal
    Réponses: 3
    Dernier message: 09/10/2009, 10h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo