¿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.