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 :

fonction pour combiner 2 streams en 1


Sujet :

SL & STL C++

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 42
    Par défaut fonction pour combiner 2 streams en 1
    Bonjour a tous,

    je cherche actuellement une fonction de C ou C++ qui permette de combiner plusieurs streams en 1, sois en faisant un OR, ou juste en alternant les bits venant des 2 input-streams.

    Ceci sans faire de developpement, mais en utilisant des classes ou fonctions toutes faites.

    La STL de C++ ne donne pas cette option (a moins que??)

    Solution a trouver en C ou C++ , peu importe.

    Quelqu'un a-t-il deja trouve une telle fonction?

    Merci

  2. #2
    Expert confirmé

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Par défaut
    Un grand classique, il faut definir ton propre streambuf faisant la combinaison que
    tu veux.

    La FAQ de fclc++ contient un exemple de streambuf.

  3. #3
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    Ca ressemble à un std::transform, ce que tu veux faire, non ?

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 42
    Par défaut fonction pour combiner 2 streams en 1
    Merci,

    je suis pas du tout famillier avec les "templates" et autres "locales", mais je vais essayer

    l'ideal serait une classes qui fasse:

    - stream1\
    \ stream3
    /
    - stream2/

  5. #5
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    D'où std::transform qui prend 2 itérateurs et écrit uns combinaison des 2 dans un 3ème itérateur.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 42
    Par défaut fonction pour combiner 2 streams en 1
    Si je comprend bien,

    dans la fonction transform

    OutputIterator transform(InputIterator1 first1,
    InputIterator1 last1,
    InputIterator2 first2,
    OutputIterator result,
    BinaryFunction binary_op);


    InputIterator1, InputIterator2 et OutputIterator sont des streams, et binary_op la fonction de comparaison que je veux faire?

  7. #7
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    Non, ce sont des itérateurs sur des streams, 2 itérateurs en lecture et un en écriture.

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 42
    Par défaut fonction pour combiner 2 streams en 1
    ok,

    merci

    maintenant j'ai un autre probleme:

    comment faire une fonction qui compare bit par bit les 2 flux (le but est de ne pas faire de boucles comparant un a un les bit d'un char)

    je reviens au probleme de base!!

  9. #9
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    Tu donnes à std::transform une classe contenant dans operator() la comparaison que tu veux.

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 42
    Par défaut fonction pour combiner 2 streams en 1
    Qu'entend tu par operator() ??

    dans mon modele j'ai :
    - iterator d'entree (x2)
    - iterator de sortie
    - fonction a executer

  11. #11
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    Dans ton modèle, tu as tes 2 itérateurs sur des ifstreams - si tu lis dans des fichiers -, 1 itérateur sur un ofstream, une classe foncteur dont l'opérateur () prends 2 arguments et retourne un élément qui sera inséré avec l'itérateur sur ofstream. Le prototype est dispo sur le site de la STL.

  12. #12
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 42
    Par défaut
    ok pour le fonctionnement de transform(), c a peu pres clair.

    mais au depart, le but est de faire des comparaisons ou bien tri de bit, en procedant bit a bit, et sans faire de boucles sur des char (car sinon je me poserais pas toutes ces questions).

    or dans l'operateur, je ne pense pas qu'il puisse agir bit par bit, mais plutot char par char...

    D'ou ma question

  13. #13
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    Ah, OK...
    En C++, ce n'est pas possible.

Discussions similaires

  1. Réponses: 12
    Dernier message: 02/09/2009, 18h24
  2. fonction pour combiner 2 streams en 1
    Par pierabobl dans le forum C
    Réponses: 1
    Dernier message: 22/05/2006, 11h45
  3. Fonction pour savoir si un ordi est connecté au reseau
    Par LitteulKevin dans le forum Windows
    Réponses: 17
    Dernier message: 13/09/2004, 14h12
  4. Détourner une fonction pour copier un fichier en mémoire
    Par Rodrigue dans le forum C++Builder
    Réponses: 6
    Dernier message: 12/11/2003, 08h29
  5. Fonction pour récuperer mon adresse IP
    Par néo333 dans le forum Web & réseau
    Réponses: 11
    Dernier message: 01/11/2003, 17h35

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