Sanırım sizin aradığınız şey bu değildi, yada ben aradığınız şeyi yanlış anladım.
freopen() ile yeniden açtığınız stream eski dosyadaki bilgileri tutacaktır. Sizin aradığınız şey şu gibi geliyor: int ftruncate(int fd, off_t length); man 2 ftruncate Önce dosyanın başına gidin: rewind(..); veya fseek(file, 0, SEEK_SET); Sonra ftruncate ile dosyanın arka tarafını kesin. freopen()'in overheadine ihtiyaç yok sanıyorum. ftruncate(fileno(file), 0); Diğer yandan bilhassa C ile fopen/fread serisi fonksiyonları değilde, open, read, write serisi low level fonksiyonları kullanmanız daha iyi netice verecektir, hele böyle sıradışı beklentileriniz varsa. C tam bir tembel adam dilidir. Zahmetsizce her şeyi yapar, java gibi aptal aptal işler açmaz başınıza. Ama 3-5 satır az yazacağım diye düşünürseniz, genellikle bu size daha çok iş olarak geri döner. Saygı, sevgi, linux... 2011/3/6 Engin Yüce <[email protected]> > Atif Bey teşekkürler, aradığım şey buydu. Mucibirahman Bey'e de > yardımlarından dolayı teşekkür ediyorum. > -engin > > _______________________________________________ > Linux-programlama mailing list > [email protected] > https://liste.linux.org.tr/mailman/listinfo/linux-programlama > Liste kurallari: http://liste.linux.org.tr/kurallar.php > >
_______________________________________________ Linux-programlama mailing list [email protected] https://liste.linux.org.tr/mailman/listinfo/linux-programlama Liste kurallari: http://liste.linux.org.tr/kurallar.php
