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...
Forum Yazılımı : vBulletin v3.6.8, Copyright ©2000-2008, Jelsoft Enterprises Ltd.