C ile txt dosyasına yazılmış dizi elemanlarını,txt dosyasından okuyup,değerleri ekranda gösterme ?

0 beğenilme 0 beğenilmeme
56 kez görüntülendi

C ile txt dosyasına yazılmış dizi elemanlarını,txt dosyasından okuyup,değerleri ekranda gösterme ?

öncelikle dosyayı yazma modunda açıp elemanları kod üstünden gönderdik.kalan kısmıda bu şekilde.


soru açık görünüyorda,ayrıntı istenirse ekleyebilirim.

26, Mayıs, 26 Uygulamalı Bilgisayar Bilimi kategorisinde Foggy (109 puan) tarafından  soruldu

read modda açıp texti bir arraya aktarıp sonra o arrayı kullanabılırsınız veya for ile her text satırını alıp her alındıgı anda kullanabılırsınız, ben sorunuzda yapamadıgınız kısmı anlamadım.

işlem şöyle olmalı.float iki dizi elemanlarını write modda txt dosyasına yazdırmalıyız.ondan sonra ordan okuyup işlemler yapmalıyım.txt e yazdırdım orda problem yok zaten.ancak fscanf ile verileri okumaya çalışırken problem oluyor.okuduğum veriyi consol ekranına yazdırdığımda anlamsız değerler görüyorum.

ekran goruntusu ve kodları at yorum olarak, ve https://stackoverflow.com/ buraya da sorabilirsin, ben yararını görmüştüm, c ve pythonla ilgili iyi cevaplar almıştım.

oraya yuva yaptım zaten cevap bekliyorum şuan :)

https://stackoverflow.com/questions/56316786/how-can-i-get-the-values-in-txt





1 cevap

0 beğenilme 0 beğenilmeme

int i ; float d3[] = {0,0,0,0};
float d1[] = {1.0,2.0,3.0,4.0};//dosyaya yazılacak dizi
float d2[] = {1.5,2.1,3.1,4.1};//dosyaya yazılacak dizi
FILE *dosya;
dosya=fopen("test.txt","w");
for(i=0;i<4;i++)//dizi elemanlarını dosyaya yazdırma döngüsü.
{ fprintf(dosya,"%d %f %f \n",i,d1[i],d2[i]);//dosyaya yazma komutu } fclose(dosya);
dosya=fopen("test.txt","r");
i=0;
while(!feof(dosya)) //feof(): dosya sonu geldiğinde
{
fscanf(dosya," %f %f %f ",&d3[i],&d1[i],&d2[i]);//dosyadan dizi değerlerini okuma komutu
printf("%f %f \n",d1[i],d2[i]);
i++;
}


28, Mayıs, 28 Foggy (109 puan) tarafından  cevaplandı
...