90 likes | 234 Views
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").
E N D
Duomenų skaitymas iš failo Norintduomenisnuskaitytiišfailo, reikia: • Aprašytiįvedimoišsrautoifstreamkintamąjį, pavyzdžiui, ifstreamfd; • Programojesusietikintamąjįsutekstiniufailu, pavyzdžiui, fd.open("Duom.txt"). • Galimaaprašytiįvedimoišsrautoifstreamkintamąjįirsusietijįsutekstiniufailuvienusakiniu, ifstreamfd ("Duom.txt"); • Baigusdarbą, failąbūtinaužvertifd.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 failefstream. Jis perkeliamas į programą tokiu sakiniu: #include <fstream>
Pavyzdys. Iš tekstinio failo Duomenys.txt nuskaitomi du sveikiejiskaičiai ir į ekraną išvedama nuskaitytų skaičiųsuma. #include <fstream> #include <iostream> using namespace std; int main() { int a, b, s; ifstreamfd ("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 ofstreamfr("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 atveriamastaip: 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 failefstream. Jis perkeliamas į programą tokiu sakiniu #include <fstream>
Klaviatūra įvedę skaičius 49 ir 100, rezultatų faile Rezultatai.txt matysite: Pavyzdys. Į tekstinį failą Rezultatas.txt išvedama dviejų sveikųjų skaičių, įvestų klaviatūra, suma. #include <fstream> #include <iostream> using namespace std; int main () { int a, b, s; cin >> a >> b; s = a + b; ofstreamfr("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.