tekstiniai_failai_c

Download Report

Transcript tekstiniai_failai_c

Darbas su
tekstiniais failais
Duomenų skaitymas iš failo
Norint duomenis nuskaityti iš failo, reikia:
• Aprašyti įvedimo iš srauto ifstream kintamąjį, pavyzdžiui,
ifstream
fd;
• Programoje susieti kintamąjį su tekstiniu failu, pavyzdžiui,
fd.open("Duom.txt").
• Galima aprašyti įvedimo iš srauto ifstream kintamąjį ir
susieti jį su tekstiniu failu vienu sakiniu,
ifstream fd ("Duom.txt");
• Baigus darbą, failą būtina užverti fd.close();.
Duomenų skaitymas iš failo
• Duomenims iš failo skaityti naudojamas tas pats
operatorius >> , kaip ir įvedamiems klaviatūra, tik srauto
vardas cin yra keičiamas įvedimo iš srauto, susijusio su
duomenų failu, kintamojo vardu,
fd >> x;
• Įvedimo ir išvedimo srautų, susijusių su duomenų ir
rezultatų failais, priemonės aprašytos antraštiniame faile
fstream. Jis perkeliamas į programą tokiu sakiniu:
#include <fstream>
Pavyzdys. Iš tekstinio failo Duomenys.txt nuskaitomi du sveikieji
skaičiai ir į ekraną išvedama nuskaitytų skaičių suma.
#include <fstream>
#include <iostream>
using namespace std;
int main()
{
int a, b, s;
ifstream fd ("Duomenys.txt");
fd >> a >> b;
s = a + b;
fd.close();
cout << s << endl;
return 0;
}
Duomenų rašymas į failą
Norint duomenis įrašyti į failą, reikia:
• Aprašyti išvedimo į srautą ofstream kintamąjį, ofstream fr;.
• Programoje susieti failo kintamąjį su tekstiniu failu
fr.open ("Rezultatas.txt");.
• Galima aprašyti įvedimo į srautą ifstream kintamąjį ir susieti jį su
tekstiniu failu vienu sakiniu
ofstream fr ("Rezultatas.txt");,
• Vykdant programą, tuo atveju, jeigu darbiniame kataloge yra
tekstinis failas nurodytu vardu, tai jame esantys duomenys
pašalinami. Priešingu atveju sukuriamas naujas failas.
• Norint jau egzistuojantį rezultatų failą papildyti, jis atveriamas taip:
ofstream fr("Rezultatas.txt", ios::app);
• Baigus darbą, failą būtina užverti, pavyzdžiui, fr.close();.
Duomenų rašymas į failą
• Duomenims į failą rašyti naudojamas tas pats operatorius
<<, kaip ir įvedamiems klaviatūra, tik srauto vardas cout
yra keičiamas išvedimo į srauto, susijusio su duomenų failu,
kintamojo vardu,
fr << x;
• Įvedimo ir išvedimo srautų, susijusių su duomenų ir
rezultatų failais, priemonės aprašytos antraštiniame faile
fstream. Jis perkeliamas į programą tokiu sakiniu
#include <fstream>
Pavyzdys. Į tekstinį failą Rezultatas.txt išvedama dviejų
sveikųjų skaičių, įvestų klaviatūra, suma.
Klaviatūra įvedę
#include <fstream>
skaičius 49 ir 100,
#include <iostream> rezultatų faile
using namespace std; Rezultatai.txt
int main ()
matysite:
{
int a, b, s;
cin >> a >> b;
s = a + b;
ofstream fr("Rezultatas.txt");
fr << “a ir b suma yra: “ << s << endl;
fr.close();
return 0;
}
Užduotis
Praeitą pamoką parašytoje programoje
ištrinkite visus darbui su ekranu skirtus
sakinius.
Programą papildykite sakiniais, kad pradiniai
duomenys būtų skaitomi iš tekstinio failo
duomenys.txt, o rezultatai įrašomi į tekstinį
failą rezultatai.txt.
duomenys.txt
Paaiškinimai
7
4
3
1
3
4
9
7
6
3
Taškų skaičius
Apskritimo spindulys
Apskritimo centro koordinatės xc, yc
Taškų koordinatės xt, yt
..............
...............
2
2
2
3
8
1
11
7