|
| 1 | +Yapılacak adımlar |
| 2 | +- Yanda belirtilen isimde bir klasör oluşturunuz "isminiz-soyİsminiz-Lab3" |
| 3 | +- Yeni oluşturulan klasöre gidiniz. |
| 4 | +- Aşağıda belirtilen operasyonları gerçekleştiren "prog2" isminde bir C programı yazınız. Programınızın kaynak dosyasını "prog2.c" ismiyle kaydediniz. |
| 5 | + - Programınız argüman olarak bir dosya ismi alacaktır. |
| 6 | + - Dosya ismi belirtilmez ise, anlamlı bir hata mesajı vererek program sonlanacaktır. |
| 7 | + - Programınız verilen isimde bir dosya oluşturacaktır. |
| 8 | + - Dosyanın içerisine aşağıda belirtilen metin yazacaktır. |
| 9 | + "Bu satır benim işlemim tarafından yazıldı" |
| 10 | + - Dosya kapatılacaktır. |
| 11 | + - Dosya tekrar açılacaktır. |
| 12 | + - Dosyanın sonuna aşağıda belirtilen metin eklenecektir. Belirtilen yer tutuculara işlem numarası ve dosya belirteci numarası yazılacaktır. |
| 13 | + "Bu da ikinci satır, işlem numarası: %d, dosya belirteci %d" |
| 14 | + - Dosyanın başına dönülecektir. |
| 15 | + - Dosyanın içeriği okunacak ve standart çıktıya yazılacaktır. |
| 16 | + - Son olarak dosya kapatılacaktır. |
| 17 | + |
| 18 | + |
| 19 | +İpuçları: |
| 20 | +- Dosya opsiyonları birbirleri ile "OR" işlemine sokularak belirtilmelidir. Örneğin dosyayı yaratmak için "O_WRONLY | O_CREAT | O_TRUNC" kullanılabilir. |
| 21 | +- Dosya yaratırken son argüman olarak dosya izinlerinin belirtilmesi gerekmektedir. Bu amaçla "0644" son argüman olarak kullanılabilir. |
| 22 | +- Öyleyse "yeniDosya.txt" isminde bir dosya oluşturmak için aşağıda belirtilen komut çalıştırılabilir: |
| 23 | + - fd = open("yeniDosya.txt", O_WRONLY | O_CREAT | O_TRUNC, 0644); |
| 24 | +- Bir char dizisine formatlı bir metin yazmak için sprintf(2) kullanılabilir. |
| 25 | +n = sprintf(buff,"İlk sayi %d, ikinci sayi %f.\n", 5, 6,2); |
| 26 | +Bu şekilde çalıştırıldığında n sayısı buff dizisine yazılan byte sayısını verir. |
| 27 | +- Kullanacağınız fonksiyonların tanımlandığı kütüphaneleri belirlemek için Unix el kitabını kullanabilirsiniz. |
0 commit comments