bu mail 1 ay once degilmiydi? benmi yanlis animsiyorum, ya da benim qmail mi bana oyun oynuyor?

On 04/07/2011 10:50 PM, Serdar KÖYLÜ wrote:
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] <mailto:[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]
    <mailto:[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


--
/**
* *@author* Atıf CEYLAN
* Software Developer & System Admin
* http://www.atifceylan.com
*/
_______________________________________________
Linux-programlama mailing list
[email protected]
https://liste.linux.org.tr/mailman/listinfo/linux-programlama
Liste kurallari: http://liste.linux.org.tr/kurallar.php

Cevap