PDA

Tam Sürümünü Görmek İçin : while(!feof(dosya)) sorunu


aysesule
03/05/2008, 15:17
Arkadaşlar;

rewind(dosya);
rewind(dosya2);
while(!feof(dosya))
{
fscanf(dosya,........);
fprintf(dosya2,......);
}
boyle bir kod parcasında son kaydı dosyadan dosya2 ye ıkı kere yazıyo bunu nasıl önleyebilirim şimdiden teşekkürler....


quasimodo
03/05/2008, 15:36
rewind(dosya);
rewind(dosya2);
fscanf(dosya,........);
while(!feof(dosya))
{
fprintf(dosya2,......);
fscanf(dosya,........);
}

soyle yaparsan olmaz :D

aysesule
03/05/2008, 15:43
Cevap verip sevindirdigin icin teşekkürler ama zaten oyle bi fikir aklımdan gecmemişti gercekten cozume cok ıhtıyacım var,yardım ederseniz cok sevinecem.

quasimodo
03/05/2008, 15:49
Kodun orjinalini gonderirsen daha fazla yardimci olabilirim ama
dedigim gibi yaptiysan duzelmis olmasi gerekiyor. Cunku ufak bir
mantik hatasi yapmissin.
while(!feof(dosya))
{
fscanf(dosya,........);
fprintf(dosya2,......);
}
while in icinde fscanf ile dosyadan okuma yaptiginda, son
okumadan sonra EOF bayragi kalkiyor, o anda donguden
cikman gerekiyor ki senin kodunda fprintf() i de isletip
cikiyor. O yuzden 2 defa dosya2 nin icinde, dosyanin son
degiskeninden var (artik string mi, double mi, int mi, her
nasil okuma yaptiysan).

aysesule
03/05/2008, 16:08
Nasıl teşekkür edecegimi bilemiyorum cok cok sagol ben ilk mesajından :D fln gorunce boyle olmaz dıyınce dalga geciyon sanmıştım meger ne kadar haklıymşsın:) yeniden teşekkürler...