Standart C ile Dosyadan Veri Okuma ve Yazma
Double(Çift hassasiyetli) veri tipi klavyeden alınırken scanf fonkisyonunda %lf ile alınır, string veriler ya da karakter dizileri %s ile alınır. fprintf dosyaya yazmak için, fscanf ise dosyadan okumak için kullanılmaktadır.
Dosya işlemleri yapılırken önce dosya göstergeci(pointer) tanımlanır. Aşağıda FILE tipinden *fp dosya belirteci tanımlanmaktadır.
FILE *fp;
Aşağıdaki komut satırı ile dosya.txt dosyası yazma modunda açılmaktadır. Burada yazma modunu belirten w sembolü kullanılmıştır. Bu işlemin sonucunda dosya açılamazsa fp değişkenine NULL değeri dönecektir.
fp = fopen("dosya.txt","w")
Aşağıdaki satırda ise dosya.txt dosyası okuma modunda açılmaktadır. Okuma modu için r sembolünün kullanıldığına dikkat ediniz.Burada da okuma yapılamazsa fp değişkenine NULL değeri dönecektir.
fp = fopen("dosya.txt","r")
Kullanıcıdan verileri scanf ile alırken tamsayıi float ve double veri tiplerinden & (adres) belirteci kullanıldığına dikkat ediniz.
#include <stdio.h>
#include <stdlib.h>
int main() {
FILE *fp, *fp2;
char adi[50],soyadi[50];
double maas;
if ( (fp = fopen("dosya.txt","w"))==NULL) {
printf("Dosya açılamadı");
exit(1);
}
printf("Ad giriniz:");
scanf("%s",adi); // veya gets(adi)
printf("Soyad giriniz:");
scanf("%s",soyadi);// veya gets(soyadi)
printf("Maas giriniz:");
scanf("%lf",&maas);
fprintf(fp,"%s\t",adi);
fprintf(fp,"%s\t",soyadi);
fprintf(fp,"%lf\t", maas);
fclose(fp);
if ( (fp2 = fopen("dosya.txt","r"))==NULL) {
printf("Dosya açılamadı");
exit(1);
}
fscanf(fp2, "%s\t",adi);
fscanf(fp2, "%s\t",soyadi);
fscanf(fp2, "%lf\t",&maas);
printf("Okunan %s %s %lf",adi,soyadi,maas);
return 0;
}
Aşağıda ise program çalıştırıldığında oluşan ekran görüntüsü yer almaktadır. Son satır dosyadan okunan verileri göstermektedir. Görüldüğü gibi sorunsuz şekilde yazılmış ve okunmuştur.
Bu sayfada yer alan kodlar Jetbrains firmasının Clion IDE'si ile yazılmıştır, Eclipse veya Netbeans gibi IDE'ler kullanabilirsiniz. C++ derleyicisi olarak MinGW kullanılmaktadır. Başka C++ derleyicileri kullandığınızda bu kodlarda yer alan komutların bulunduğu kütüphaneler farklı olabilir. İlgili komutları kendi derleyicinizin dökümanlarına bakarak projenize dahil ettiğinizde çalışacaktır.
Mutlu kodlamalar,
Oğuzhan TAŞ
Ocak 2021
- Csharp(58)
- Csharp Formlar(23)
- Web Tasarım(9)
- CSS(27)
- JavaScript(37)
- PHP(50)
- Laravel(3)
- ASP.net(38)
- Excel(15)
- Güvenlik(4)
- E-Ticaret(3)
- Kariyer(5)
- SQL Server(29)
- MySQL(16)
- Linux(17)
- MacOSX(8)
- Ayarlar(12)
- Bilgisayar Ağları(3)
- Symfony(1)
- Teknoloji(7)
- VBS(1)
- Arduino(6)
- RaspberryPi(1)
- Algoritmalar(15)
- HTML(3)
- Python(2)
- Bash Script(7)
- C Programlama(10)
- Flutter - Dart(11)
- Bootstrap(1)
- :: Excelde EĞER Fonksiyonu Kullanımı...
- :: Csharp ile Access Veritabanı Bağlan...
- :: SQL nedir, Temel SQL Komutları nele...
- :: Hangi Linux Dağıtımı?
- :: OSX İşletim Sistemine PHP, MySQL, A...
- :: Excel Hesap tablosunda EĞERSAY Fonk...
- :: PHP dilini kullanarak MySQLi tekniğ...
- :: Excel Hesap tablosunda ÇOKETOPLA Fo...
- :: Excel Hesap tablosunda ETOPLA Fonks...
- :: Excel Hesap tablosunda ÇOKEĞERSAY F...
- :: Hangi Programlama Dilini Öğrenmeliy...
- :: Mac Bilgisayarınıza Windows 7 Yükle...
- :: PHP ile Basit Dosya Yükleme
- :: C# Programlama Dili ile İlgili Örne...
- :: Excel hücrelerinde yıldız koyarak b...
- :: PHP Dili kullanarak MySQLi Tekniği ...
- :: PhpMyAdmin Şifresi Nasıl Değiştiril...
- :: Hangisi acaba, PHP mi ASP.NET mi ?