-
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
-
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()...
-
J'ai essayé
Code:
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....
-
personne n'a de solution ?