¿Puedo reemplazar una llamada a open_memstream con un malloc y una conversión implícita?

Todos,

Tengo un programa que se imprime en una secuencia. Necesito almacenar este flujo en la memoria y luego imprimir cada línea según sea necesario para un archivo real más tarde.

Desde elfprintf() las llamadas a funciones deben tener unaFILE * puntero, necesito tener dicho puntero direccionando el espacio en la memoria. Había utilizado elopen_memstream() Función, pero esto no es compatible con Windows.

Ya quemalloc() devuelve unvoid * puntero que se lanza mágicamente al puntero necesario según sea necesario, ¿podría usar eso como miFILE * ¿puntero? Si es así, ¿qué advertencias hay? ¿Debo tener cuidado de no quedarme sin espacio?

Actualizar:

Después de encontrar la fuente deopen_memstream(), que fue más difícil de lo que debería haber sido, parece que están haciendo una secuencia de archivos al espacio malloc'd.

Dado que ese es el caso, y tengo su fuente, voy a ver si no puedo conseguir una versión funcional para compilar de forma cruzada para windows con mingw.

Respuestas a la pregunta(3)

Su respuesta a la pregunta