Czy mogę zastąpić wywołanie open_memstream malloc i niejawnym rzutem?

Wszystko,

Mam program, który drukuje do strumienia. Muszę buforować ten strumień w pamięci, a następnie wydrukować każdą linię w razie potrzeby do rzeczywistego pliku później.

Odfprintf() wywołania funkcji muszą miećFILE * wskaźnik, potrzebuję mieć wspomnianą przestrzeń adresowania wskaźnika w pamięci. Użyłemopen_memstream() Funkcja ta nie jest obsługiwana w systemie Windows.

Odmalloc() zwraca avoid * wskaźnik, który w magiczny sposób rzuca na niezbędny wskaźnik w razie potrzeby, czy mogę użyć tego jako mojegoFILE * wskaźnik? Jeśli tak, jakie są zastrzeżenia? Czy muszę uważać na brak miejsca?

Aktualizacja:

Po znalezieniu źródła dlaopen_memstream(), co było trudniejsze niż powinno, wygląda na to, że robią strumień plików do przestrzeni malloc'd.

Skoro tak jest, a ja mam ich źródło, zamierzam wysłać je, jeśli nie mogę uzyskać działającej wersji do kompilacji dla okien z mingw.

questionAnswers(3)

yourAnswerToTheQuestion