C++ DOSYAYA YAZMA VE DOSYADAN OKUMA
C++ ile zincir şeklinde dosyaya yazma ve dosyadan okuma program örneği. Kullanıcıdan alınan değerleri dosyaya yazma ve yine kullanıcının tercihine göre dosyaya yazma, veya dosyadan okuma.
C++ ile dosya işlemlerini yapabilmek için;
# include<fstream>
Satırını eklememiz gerekir. Bu satır stream kütüphanesini uygulamaya dahil eder. Bu kütüphanede dosya işlemlerini yapmamızı sağlar.
Stream kütüphanesinden dosyaya yazmak için ofstream class’ını kullanabiliriz.
ofstream yourfile("bilgi.txt", ios::app);
Yukarıdaki örnekte yourfile nesnesini yarattık. Bu nesne parametrelerin ilki dosya adıdır. İkincisi ise dosyadaki eski bilgileri silmeden alta kayıt eklemeye devam eder. Eğer her yazmada eski bilgilerin silinmesini isteseydik;
ofstream yourfile("bilgi.txt", ios::beg);
şeklinde yaratacaktık.
Dosyaya veri girmek cout işlemine benzer oluşturduğumuz stream nesnesi ile veri girişi yapabiliriz.
yourfile << sayi << endl;
Dosyadan okumak için stream kütüphanesinin ifstream class’ını kullanabiliriz.
ifstream fileread;
fileread.open("bilgi.txt", ios::in);
Dosyayı satır satır okumak için
getline(fileread, okunan);
cout << okunan << "\n";
getline fonksiyonu dosyadaki her satır değeri “okunan” değişkenine aktarır. Cout ile bu değişken ekrana yazdırılır.
Uygulamanın Tamamı
# include<iostream>
# include<string>
# include<fstream>
using namespace std;
void DosyadanOku();
void DosyayaYaz();
int main()
{
char Sc = '1';
cout << "Dosyaya Yazmak Icin 0 Dosyadan Okumak Icin 1 Giriniz" << endl;
cin >> Sc;
while (Sc != '2')
{
if (Sc == '0')
{
DosyayaYaz();
}
if (Sc == '1')
{
DosyadanOku();
}
cout << "Dosyaya Yazmak Icin 0 , Okumak Icin 1 Cikmak Icin 2 Giriniz" << endl;
cin >> Sc;
}
return 0;
}
void DosyayaYaz()
{
ofstream yourfile("bilgi.txt", ios::app);
int sayi;
char Cnt = 'X';
while (Cnt != 'Z')
{
cout << "Bir Sayi Giriniz: ";
cin >> sayi;
yourfile << sayi << endl;
cout << "Devam Etmek Icin Z den Farkli Bir Tusa Basin Cikmak Icin Z Giriniz" << endl;
cin >> Cnt;
}
yourfile.close();
}
void DosyadanOku()
{
ifstream fileread;
fileread.open("bilgi.txt", ios::in);
string okunan;
while (!fileread.eof())
{
getline(fileread, okunan);
cout << okunan << "\n";
}
fileread.close();
}
SANATSAL BİLGİ
01/09/2016