Yusuf Kudret
Hectopat
- Katılım
- 2 Mayıs 2020
- Mesajlar
- 99
Hocam struct ı daha görmedik o yüzden kullanamıyoruz.Verileri bir struct üzerinde tut okuma yazma işini bu struct üzerinden daha rahat yaparsın, kodları foruma ekle resim olarak koyma biraz uğraş, yapamazsan yardımcı olurum basit bir şey zaten.
while(!feof(dosya)){
memset(ad, 0, sizeof(ad));
memset(soyad, 0, sizeof(soyad));
fscanf(dosya,"%s %s\n", &ad, &soyad);
printf("ad: %s\n", ad);
printf("soyad: %s\n", soyad);
}
Peki bunlar C için geçerli mi?Ezbere iş yapmak istemiyorsan sana tavsiyem kullandığın kitaplıkların hangi fonksiyonları barındırdığını ve nasıl kullanıldıklarını araştırman. Mesela stdio.h için fprintf ile dosyaya formatlı bilgi yazıyorsun aynı şekilde fscanf ile de dosyadan formatlı bilgiyi okuyabilirsin.
ihtiyacın olacak bazı fonksiyonlar;
fprintf
fscanf
feof
ftell
fseek
rewind
strcmp
memset
Bu fonksiyonların detaylarına aşağıdaki linklerden erişebilirsin;
<cstdio> (stdio.h) - C++ Reference
www.cplusplus.com<cstring> (string.h) - C++ Reference
www.cplusplus.com
örneğin dosya sonuna kadar kaydedilen bilgileri okuyup ekrana bastırmak istesek böyle kullanırız.
C++:while(!feof(dosya)){ memset(ad, 0, sizeof(ad)); memset(soyad, 0, sizeof(soyad)); fscanf(dosya,"%s %s\n", &ad, &soyad); printf("ad: %s\n", ad); printf("soyad: %s\n", soyad); }
memset kullanmak önemli, her zaman bir char array'e veri yazmadan önce onu temizlemelisin, memset ile diziyi null karakterle doldurabilirsin aksi halde değişkenler derleme esnasında rastgele değerler alır.
Bunlar zaten C kitaplığı, dokümantasyon yeterince açık, oku ve uygula...Peki bunlar C için geçerli mi?
Farkediyor diye biliyorum
Bu sitenin çalışmasını sağlamak için gerekli çerezleri ve deneyiminizi iyileştirmek için isteğe bağlı çerezleri kullanıyoruz.