08.11.2014 Views

c_kitap

c_kitap

c_kitap

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

C ve Sistem Programcıları Derneği - C Ders Notları - Necati Ergin<br />

çağrısı ile f ile gösterilen dosyadan sizeof(int) * 10 kadar byte okunarak RAM'da a<br />

adresine yazılmak istenmiştir. Yani dosya konum göstericisinin gösterdiği yerden itibaren<br />

bütün sayıları okunabildiyse işlev 10 değerine geri döner. Eğer dosyadaki kalan byte<br />

sayısı okunmak istenen sayıdan az ise işlev bütün byte'ları okur ve geri dönüş değeri<br />

okunan byte sayısı 2. parametresi ile belirtilen değer olur. Örneğin DOS işletim sistemi<br />

altında çalışıyor olalım. Dosyada 10 byte bilgi kalmış olsun.<br />

n = fread(a, sizeof(int), 10, f);<br />

ile işlev 5 değerine geri döner.<br />

Aşağıdaki iki çağrıyı inceleyelim:<br />

fread(str, 100, 1, f);<br />

fread(str, 1, 100, f);<br />

Her iki işlev çağrısı da RAM'deki str adresine FILE türünden f göstericisi ile ilişkilendirilen<br />

dosyadan 100 byte okumak amacıyla kullanılabilir. Ancak birinci çağrıda geri dönüş<br />

değeri ya 0 ya 1 olabilecekken, ikinci işlev çağrısında geri dönüş değeri 0 100(dahil)<br />

aralığında herhangi bir değer olabilir.<br />

fread ve fwrite İşlevleriyle Blok Blok Kopyalama<br />

Aşağıdaki örnekte bir grup byte fread işlevi ile bir dosyadan okunuyor, fwrite işlevi ile<br />

diğer bir dosyaya yazılıyor:<br />

469

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!