Bu işlev
yığınak yığınağına veri yazmak için bir akım açar. Bu yığınakta bir nesne başlatır ve onu veri yazıldıkça büyütür (bkz.
Büyüyen Nesneler).
Bu akım üzerinde yapılan bir fflush çağrısı nesnenin o anki boyunu yazılmış olan veriye eşitler. Bir fflush çağrısından sonra nesneyi geçici olarak inceleyebilirsiniz.
Bir yığınak akımının dosya konumunu
fseek veya
fseeko (
Dosyalarda Konumlama) işlevlerini kullanarak değiştirebilirsiniz. Dosya konumunun yazılmış olan verinin sonrasına taşınması arada kalan boşlukların sıfırlarla doldurulmasına sebep olur.
Nesneyi kalıcı yapmak için yığınağı fflush ile güncelleyin ve obstack_finish ile nesneyi bitirip adresini alın. Bunun ardından akıma yazma işlemleri yığınakta yeni bir nesne başlatır ve sonraki fflush ve obstack_finish çağrılarına kadar bu nesne kullanılır.
Fakat ne uzunlukta bir nesne kullanıldığını nasıl bulacaksınız? Nesne uzunluğunu
obstack_object_size (
Bir Yığınağın Durumu) çağrısı ile alabileceğiniz gibi nesneyi aşağıdaki gibi boş karakterle sonlandırabilirsiniz:
obstack_1grow (yığınak, 0);
Hangi yöntemi kullanırsanız kullanın, bunu obstack_finish çağrısından önce yapmalısınız (isterseniz ikisini de yapabilirsiniz).