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

SL & STL C++ Discussion :

ofstream et le mode exclusif


Sujet :

SL & STL C++

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    62
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 62
    Points : 83
    Points
    83
    Par défaut ofstream et le mode exclusif
    Bonjour,

    J'utilise la classe ofstream pour ecrire les log d'une application.

    Existe-t-il des méthodes relatives aux ofstream pour vérouiller l'accès en mode écriture,
    et pour savoir si le fichier est dèjà ouvert par une autre application ?

    Pour être précis je voudrais éviter que deux instances de la même application écrive dans le même fichier de log.

  2. #2
    Membre habitué
    Inscrit en
    Avril 2002
    Messages
    180
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 180
    Points : 157
    Points
    157
    Par défaut
    le prototype de oftream
    ofstream( const char* szName, int nMode = ios::out, int nProt = filebuf::openprot );


    ou nProt
    filebuf::sh_compat lecture et ecriture partager.
    filebuf::sh_none Exclusive pas de partage.
    filebuf::sh_read Lecture Partager.
    filebuf::sh_write Ecriture partager.

  3. #3
    Expert éminent sénior

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 751
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 751
    Points : 10 670
    Points
    10 670
    Billets dans le blog
    3
    Par défaut
    Je me demande si ce n'est pas dépendant de l'OS. Il me semble que sous Windows, si tu ouvres un ofstream, tu ne peux pas l'ouvrir en écriture une 2° fois en même temps.

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    62
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 62
    Points : 83
    Points
    83
    Par défaut
    Je développe avec C++ Builder 6

    Et avec la classe Ofstream qui est fournit,
    il n'y pas de troisième paramêtre pour les droit d'accès.
    C'est pas cool.

    Je crois que j'utilise une 'implémentation de Silicon Graphics.

    Je vais essayer de faire un lock avec les WinApi, je sais pas si ça peu cohabiter.

    Et pour répondre à Aurélien, que ce soit sous Windows ou Unix,
    l'ouverture d'un ofstream sur un fichier, n'est pas automatiquement exclusive.

    (c'est peut-être spécifique à Builder, je viens de poster le même message sur le forum C++Builder)

  5. #5
    Expert éminent sénior

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 751
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 751
    Points : 10 670
    Points
    10 670
    Billets dans le blog
    3
    Par défaut
    Effectivement je viens de tester. Ben faut te rabattre sur Win32 alors : CreateFile sans spécifier FILE_SHARE_WRITE.

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    62
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 62
    Points : 83
    Points
    83
    Par défaut
    C'est ce que j'ai fait !


    merci a tous!

  7. #7
    Membre habitué
    Inscrit en
    Avril 2002
    Messages
    180
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 180
    Points : 157
    Points
    157
    Par défaut
    mon prototype de ofstream ne serait pas standard ????
    he bien ca m'etonne

    vas voire du coter de <io.h><stdio.h> int sopen() et int lock()

    il requiere une ouverture de bas niveau je croie

    et desoler pour le precedent post

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Accès en mode exclusif
    Par kimar dans le forum Access
    Réponses: 3
    Dernier message: 24/07/2006, 11h20
  2. Soucis mode exclusif/partagé
    Par stefon dans le forum Access
    Réponses: 14
    Dernier message: 03/07/2006, 16h25
  3. [ODBC] odbc_connect : base ACCESS déjà ouverte en mode exclusif
    Par Alexlesilex dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 29/06/2006, 11h28
  4. base ouverte en mode exclusif par administrateur
    Par Pascal P dans le forum Access
    Réponses: 1
    Dernier message: 06/01/2006, 14h06
  5. Erreur mode exclusif
    Par semaj_james dans le forum Bases de données
    Réponses: 2
    Dernier message: 11/06/2004, 08h11

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