PDA

Tam Sürümünü Görmek İçin : Dosyalarda Karakter Silme..


futi
14/01/2007, 21:50
Bir soruda da bir c kodunun bulunduğu dosyadaki yorum satırlarının silinip başka bir dosyaya yazılması...

yani /* dsadsaddsadasd */ arası ve /* */ silinecek...

daha doğrusu bu c de dosya işlemlerinde karakter silmeyi nasıl yapabiliriz lütfen yardımcı olun .. :aglama: :aglama: :aglama:


acehreli
14/01/2007, 22:08
C'de dosyadan karakter silinemez. Calisilan ortam bunu sagliyor olabilir ama C ile ilgili degil.

Soruda da soylendigi gibi, "baska bir dosyaya" yazacaksin. Sonucta bir suzgec program yaziyorsun: bir dosyada okuyacak, suzulmesi gerekenler disindakileri baska bir dosyaya yazacak.

Ali

futi
17/01/2007, 00:20
peki, şöyle soruyum.
geçen sınavda da çıktı..

---
struct ile doldurulmuş bir dosyada (binary dosya) herhangi bir kaydı sıkıştırarak silen programı yazmak nasıl oluyo peki? Yani kayıdı silecem? nasıl yapabilirim=?

acehreli
17/01/2007, 00:48
Ama bunu soyledim zaten... Tekrar soyleyeyim, biraz daha degisik bir sekilde: giristen okuyacaksin, suzecegin seyin disindakileri baska bir dosyaya yazacaksin.

Ali

futi
17/01/2007, 10:16
ya acehreli cok saol yardımcı oluyosun abi ben galiba anlayamadım.

şimdi ben client server prog yapıyorum. server gelen ipleri ve bulunduğu directory yi struct şeklinde dosyaya yazıcak ve bağlantıyı koparınca struct dosyasında tuttuğum yer boşalacak.

yani struct kaydedilmiş dosyada kayıt sileceğm ama hala bişi anlayamadım? boş bir struct tanımlayıp onun uzerıne mı yazacaz? böyle olursa dosya boyutunda kücülme olmaz kannımca. başka bi yolu da sanırım yok? tşkkler

acehreli
17/01/2007, 19:12
Struct seklinde dosyaya yazmanin gerekliligini anlayamadigim icin ben cok daha kolay bir yontem onereyim: her baglanti icin ayri bir dosya tut. Baglanti kopunca dosyayi sil.

Eger soyledigin yolda devam etmek istiyorsan, soyle bir kod yazacaksin:


BenimYapi yapi;

giristen_yapi_oku(&yapi);

if (saklamak_istedigim_yapi(&yapi)) {
cikisa_yapi_yaz(&yapi);
}


Yalnizca saklamak istediklerini yazdigin icin, cikistaki dosya giristekinden daha kucuk olacak.

Bu islemin sonunda cikistaki dosyayi giristekinin adina donusturursen, islem tamamdir.

Ali