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

C++ Discussion :

cast ofstream FILE*


Sujet :

C++

  1. #1
    Membre du Club
    Inscrit en
    Octobre 2007
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 109
    Points : 48
    Points
    48
    Par défaut cast ofstream FILE*
    bonjour,

    est t il possible d utiliser une stream quelconque pour en la convertisant en FILE*.

    je precise:
    une methode telque
    methode(FILE * file, type instance)

    Je ne peu pas modifier cette methode.

    je voudrais remplacer le premier argument par une stream pour que la methode envoie un flux vers ma stream ( plus tot que de l ecrire avec un FILE).
    quelque soit le stream meme un ofstream.

    merci

  2. #2
    Expert éminent

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Points : 6 911
    Points
    6 911
    Par défaut
    Citation Envoyé par lezurp Voir le message
    est t il possible d utiliser une stream quelconque pour en la convertisant en FILE*.
    Non.
    Les MP ne sont pas là pour les questions techniques, les forums sont là pour ça.

  3. #3
    Rédacteur/Modérateur
    Avatar de JolyLoic
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    5 463
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 5 463
    Points : 16 213
    Points
    16 213
    Par défaut
    Rien de standard pour ça...

    Certaines implémentations fournissent un moyen d'y parvenir. Par exemple, visualC++ fourni une fonction fd qui retourne un filedescriptor. Peut-être y a t'il moyen d'obtenir un FILE* à partir de ce descripteur ?
    Ma session aux Microsoft TechDays 2013 : Développer en natif avec C++11.
    Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
    Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage à la découverte d'un nouveau monde
    Je donne des formations au C++ en entreprise, n'hésitez pas à me contacter.

  4. #4
    Expert éminent

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Points : 6 911
    Points
    6 911
    Par défaut
    Citation Envoyé par JolyLoic Voir le message
    Rien de standard pour ça...

    Certaines implémentations fournissent un moyen d'y parvenir. Par exemple, visualC++ fourni une fonction fd qui retourne un filedescriptor. Peut-être y a t'il moyen d'obtenir un FILE* à partir de ce descripteur ?
    Rien de standard non plus (fdopen pour Posix).

    Mais il était question de n'importe quelle stream, et là je ne connais aucune extension qui va fonctionner avec une stream qui utilise mon streambuf à moi que j'ai écrit.
    Les MP ne sont pas là pour les questions techniques, les forums sont là pour ça.

  5. #5
    Membre du Club
    Inscrit en
    Octobre 2007
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 109
    Points : 48
    Points
    48
    Par défaut
    bonjour,

    merci de vos responces.

    je susi un peu etonne qu il n y ai aucune stream qui me permet de remplacer une FILE *. cela signifie que les FILE* et les stream non aucun heritage en commun ??

    j ai regarder du cote de fdopen. et compagnie.

    http://www.thinkage.ca/english/gcos/...ib/fdopen.html
    http://www.thinkage.ca/english/gcos/.../lib/open.html
    http://www.thinkage.ca/english/gcos/...lib/fopen.html
    http://www.thinkage.ca/english/gcos/...lib/close.html

    mais pour etre honnette je n arrive meme pas a voir comme m y prendre.




    si non est t il possible de rediriger le stdout non pas vers la console n'y vers un fichier FILE* mais une stream, fstream ou .... J imagine que non , mais bon ..

    si je pouvais rediriger ca meme vers une stringstream(moyen mais bon), meme ca ferai mon affaire car je n aurai plus besoin de cree ou ouvrir un fichier FILE*.

    merci


    PS:
    voila comment cela focntionne pour l instant juste au cas ou je me serai mal exprimé.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    			FILE * pFile;
    			pFile = fopen (logoutpathfind.c_str() , "a");
                            methode(pFile, instancexx);
                            fclose(pFile);

  6. #6
    Expert éminent

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Points : 6 911
    Points
    6 911
    Par défaut
    rdbuf()
    Les MP ne sont pas là pour les questions techniques, les forums sont là pour ça.

  7. #7
    Membre du Club
    Inscrit en
    Octobre 2007
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 109
    Points : 48
    Points
    48
    Par défaut
    rdbuf() est typiquement une methode pour rediriger les type stream et compagnie non ?
    en fait je l utilise deja sur mes stream. entre autre pour rediriger certaine cout et autre manipulation. mais les FILE * en sont depourvue non ?

    la "stdout" est la sortie standart de type FILE *

    si tu a une idée en tete euuu je ne voie toujours pas desoler si tu trouve que je susi un peu lent..

  8. #8
    Expert éminent

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Points : 6 911
    Points
    6 911
    Par défaut
    Citation Envoyé par lezurp Voir le message
    rdbuf() est typiquement une methode pour rediriger les type stream et compagnie non ?
    en fait je l utilise deja sur mes stream. entre autre pour rediriger certaine cout et autre manipulation. mais les FILE * en sont depourvue non ?

    la "stdout" est la sortie standart de type FILE *

    si tu a une idée en tete euuu je ne voie toujours pas desoler si tu trouve que je susi un peu lent..
    Tu peux te faire un streambuf wrapper de FILE*. J'en avais fait un en exemple pour la FAQ de flfc++.
    Les MP ne sont pas là pour les questions techniques, les forums sont là pour ça.

  9. #9
    Membre du Club
    Inscrit en
    Octobre 2007
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 109
    Points : 48
    Points
    48
    Par défaut
    je suis aller voir dans les faq:

    http://cpp.developpez.com/faq/

    c++
    visual c++
    c++ builder
    cli
    code block


    mais je ne vois vraiement pas qu est ce que FLF et encore moins la faq flfc++

    merci

    il y a des jour comme ca ou rien ne va

  10. #10
    Membre chevronné
    Avatar de Goten
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 580
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 580
    Points : 2 205
    Points
    2 205
    Par défaut
    fr.comp.lang.c++ ... la faq en question :

    http://www.decima.org/c++/faq-fclc++.txt


    seulement j'ai bien peur que ça ne soit pas la version complète.
    "Hardcoded types are to generic code what magic constants are to regular code." --A. Alexandrescu

  11. #11
    Membre du Club
    Inscrit en
    Octobre 2007
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 109
    Points : 48
    Points
    48
    Par défaut
    merci
    j ai trouvé l exemple
    il ne reste plus qu a le comprendre correctement et voir si il fait bien ce que je veux !!

    pour les suivant voila le lien

    http://groups.google.com/group/fr.co...c923ffffa36575

Discussions similaires

  1. FILE * et ofstream
    Par nikopol82 dans le forum SL & STL
    Réponses: 4
    Dernier message: 24/08/2008, 10h53
  2. cast de File a FormFile
    Par jawed84 dans le forum Struts 1
    Réponses: 7
    Dernier message: 09/01/2008, 18h19
  3. A propos des 'File management Functions' de Windows
    Par znaidi dans le forum Windows
    Réponses: 3
    Dernier message: 01/04/2003, 16h01
  4. traduction en delphi "reinterpreted cast"
    Par Chupakabra dans le forum Langage
    Réponses: 3
    Dernier message: 13/02/2003, 15h49
  5. recupèrer file d'attente d'impression
    Par magic corp. dans le forum Langage
    Réponses: 2
    Dernier message: 25/09/2002, 14h12

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