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.