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

Boost C++ Discussion :

Lecture/Ecriture asynchrone de fichiers


Sujet :

Boost C++

  1. #1
    Rédacteur
    Avatar de Bakura
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2005
    Messages
    1 386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 386
    Points : 2 640
    Points
    2 640
    Par défaut Lecture/Ecriture asynchrone de fichiers
    Bonjour !

    Je souhaite pouvoir effectuer des lectures/écritures asynchrones de fichier standards (std::fstream), en rendant cela totalement transparent pour l'utilisateur. Je souhaiterais donc avoir une fonction SynchronousRead (qui utiliserait la fonction standard read), SynchronousWrite (qui utiliserait la fonction standard write) et deux fonctions AsynchronousRead et AsynchronousRead.

    D'après mes recherches, il y a des fonctions sous Windows pour ceci (ReadFileEx et WriteFileEx) mais je recherche quelque chose de portable, et je ne trouve rien de satisfaisant.

    J'aimerais pouvoir écrire du code qui ressemblerait à ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SynchronousRead (buffer, sizeof (taille)); // Lecture synchrone
    AsynchronousRead (handleOperation, buffer, sizeof (taille), MonCallback); // Lecture asynchrone, avec appel du callback et récupération des données une fois l'opération terminée
     
    ou :
     
    AsynchronousRead (handleOperation, buffer, sizeof (taille), NULL); // Lecture asynchrone, récupération plus bas dans la fonction
    Y a t-il un moyen portable d'effectuer de telles opérations ? J'ai regardé tout d'abord du côté de boost.Asio, mais Google ne donne absolument aucun résultat, et je ne trouve rien dans la doc qui me permette d'interfacer avec std::fstream.

    Suis-je donc obligé de me créer une petite encapsulation de boost.Thread et de les utiliser pour effectuer des lectures/écritures asynchrones ? L'avantage de Boost.Asio étant qu'elle cache visiblement l'utilisation des threads...

    Merci

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 294
    Détails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 294
    Points : 1 543
    Points
    1 543
    Par défaut
    Salut,

    Peut-etre que ca peut te donner une piste de depart ?

    MAT.

  3. #3
    Rédacteur
    Avatar de Bakura
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2005
    Messages
    1 386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 386
    Points : 2 640
    Points
    2 640
    Par défaut
    Je regarderai ça, merci .

Discussions similaires

  1. [IO] lecture ecriture dans un fichier
    Par grabriel dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 05/04/2007, 10h09
  2. Lecture/Ecriture d'un fichier XML
    Par andlio dans le forum Windows
    Réponses: 2
    Dernier message: 18/01/2007, 20h15
  3. probleme lecture ecriture dans des fichiers
    Par xman_genius dans le forum C
    Réponses: 9
    Dernier message: 16/01/2007, 19h50
  4. Lecture ecriture dans un fichier binaire
    Par laetous dans le forum C
    Réponses: 13
    Dernier message: 26/08/2006, 08h50
  5. ouverture/lecture/ecriture dans un fichier en mode binaire
    Par dirty_boy dans le forum Débuter
    Réponses: 2
    Dernier message: 15/03/2006, 08h38

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