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 :

Redirection sous windows


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 57
    Par défaut Redirection sous windows
    Bonjour à tous !

    J'aurais voulu savoir comment je pouvais rediriger stdout vers un socket sous windows (dup ne fonctionne pas sur un socket) ?

    En fait mon vrai problème c'est que j'utilise une bibliotheque qui demande un FILE* en paramètre. Ne souhaitant pas écrire dans un fichier mais juste garder l'information en mémoire pour l'envoyer sur le réseau, je pensais utiliser le FILE* stdout... voyez-vous une autre solution ? Peut-on déclarer un FILE* pointant sur une zone mémoire et non pas un fichier proprement dit ?

    Merci d'avance

  2. #2
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par défaut
    Tu peux essayer de voir si _open_osfhandle() marche sur un socket. Si ça marche, ça te retournera un descripteur valide, sur lequel tu pourras obtenir un FILE* avec fdopen()...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 57
    Par défaut
    J'ai essayé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    	FILE* test = fdopen(_open_osfhandle(sock,0),"r+");
    le handle a l'air d'être bien créé puisque test n'est pas NULL, mais il ne doit pas pointer au bon endroit car la bibliothèque plante....

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 57
    Par défaut
    personne n'a de solution ?

Discussions similaires

  1. fonction C et redirections (>,<) sous windows
    Par hector2 dans le forum Windows
    Réponses: 4
    Dernier message: 04/10/2007, 22h34
  2. redirection entrée/sortie sous windows en C
    Par alexlecool dans le forum C
    Réponses: 3
    Dernier message: 08/12/2006, 09h05
  3. Tester connexion Internet active sous Windows
    Par Altau dans le forum Développement
    Réponses: 3
    Dernier message: 12/08/2002, 12h43
  4. Pas de fork sous Windows?
    Par chezjm dans le forum POSIX
    Réponses: 8
    Dernier message: 11/06/2002, 12h15
  5. OmniORB : code sous Windows et Linux
    Par debug dans le forum CORBA
    Réponses: 2
    Dernier message: 30/04/2002, 17h45

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