2011-05-19 8 views
6

¿Hay algún lugar para convertir un abierto FILE* devuelto de fopen a un HANDLE que se utiliza en las funciones de la API de Windows? ¿Si es así, cómo?¿Cómo podemos convertir un ARCHIVO * a una MANIJA?

+0

Si está dispuesto a ir por el otro camino (que es más común), vea esta pregunta http://stackoverflow.com/questions/5193579/how-make-file-from-handle-in-winapi que está creando un ARCHIVO * desde una MANIJA. –

Respuesta

8

(HANDLE)_get_osfhandle(_fileno(file))

Buena suerte en sistemas de 64 bits si está utilizando Visual C++ 2008 o antes, sin embargo, debido a que el tipo de retorno es long en aquellos. :(

+0

+1 Pero cuestionaría el código que hizo esto. –

+0

@Neil: Gracias. :) ¿Por qué? ¿Portabilidad? – Mehrdad

+1

@ Mehrdad El material FILE * es una abstracción, si no quieres una abstracción, no la uses. Pero no puedes tener un poco de abstracción. –

Cuestiones relacionadas