C ++ failu apstrāde: kā atvērt, rakstīt, lasīt, aizvērt failus programmā C ++

Kas ir failu apstrāde C ++?

Faili glabā datus pastāvīgi atmiņas ierīcē. Izmantojot failu apstrādi, programmas izvadi var saglabāt failā. Failā esošajiem datiem var veikt dažādas darbības.

Straume ir ierīces abstrakcija, kurā tiek veiktas ievades/izvades darbības. Plūsmu varat attēlot kā galamērķi vai nenoteikta garuma rakstzīmju avotu. To noteiks to izmantošana. C ++ nodrošina bibliotēku, kurā ir failu apstrādes metodes. Ļaujiet mums to apspriest.

Šajā c ++ apmācībā jūs uzzināsit:

Fstream bibliotēka

Fstream bibliotēka nodrošina C ++ programmētājiem trīs klases darbam ar failiem. Šajās klasēs ietilpst:

  • no straumes - Šī klase apzīmē izejas plūsmu. To izmanto, lai izveidotu failus un ierakstītu informāciju failos.
  • ifstream - Šī klase ir ievades plūsma. To izmanto, lai lasītu informāciju no datu failiem.
  • fstream - Šī klase parasti apzīmē failu straumi. Tas nāk ar straumes/ifstream iespējām. Tas nozīmē, ka tas spēj izveidot failus, rakstīt failos, lasīt no datu failiem.

Šo attēlu ir viegli saprast:

fstream bibliotēka



Lai izmantotu iepriekš minētās fstream bibliotēkas klases, tā jāiekļauj savā programmā kā galvenes fails. Protams, jūs izmantosit #include priekšapstrādātāja direktīvu. Jāiekļauj arī iostream galvenes fails.

Kā atvērt failus

Pirms veicat kādas darbības ar failu, vispirms tas ir jāatver. Ja nepieciešams rakstīt failā, atveriet to, izmantojot fstream vai ofstream objektus. Ja jums ir jālasa tikai no faila, atveriet to, izmantojot objektu ifstream.

Trīs objektiem, tas ir, fstream, ofstream un ifstream, ir definēta open () funkcija. Funkcija izmanto šo sintaksi: | _+_ |

  • Parametrs file_name apzīmē atvērtā faila nosaukumu.
  • Režīma parametrs nav obligāts. Tam var būt kāda no šīm vērtībām:
Vērtība Apraksts
ios :: lietotnePievienošanas režīms. Failam nosūtītā izvade tiek pievienota tai.
ios :: ēdaTas atver izvades failu un pēc tam pārvieto lasīšanas un rakstīšanas vadīklu uz faila beigām.
ios :: inTas atver failu lasīšanai.
ios :: outTas atver failu rakstīšanai.
ios :: bagāžnieksJa fails pastāv, faila elementi pirms tā atvēršanas ir jāsamazina.

Ir iespējams vienlaikus izmantot divus režīmus. Jūs tos apvienojat, izmantojot | (VAI) operators.

1. piemērs:

 open (file_name, mode); 

Izeja:

Šeit ir koda ekrānuzņēmums:

Koda skaidrojums:

  1. Lai izmantotu tās funkcijas, programmā iekļaujiet iostream galvenes failu.
  2. Iekļaujiet programmā fstream galvenes failu, lai izmantotu tās klases.
  3. Iekļaujiet standarta kodu mūsu kodā, lai izmantotu tās klases, to neizsaucot.
  4. Izsauciet galveno () funkciju. Programmas loģikai vajadzētu ietilpt tās ķermenī.
  5. Izveidojiet fstream klases objektu un piešķiriet tam nosaukumu my_file.
  6. Lai izveidotu jaunu failu, iepriekšminētajā objektā izmantojiet funkciju open (). Izejas režīms ļauj mums ierakstīt failā.
  7. Izmantojiet paziņojumu, lai pārbaudītu, vai faila izveide neizdevās.
  8. Ziņojums drukāšanai konsolē, ja fails nav izveidots.
  9. Ja paziņojuma pamatteksta beigas.
  10. Izmantojiet citu paziņojumu, lai norādītu, kā rīkoties, ja fails tika izveidots.
  11. Ziņojums drukāšanai konsolē, ja fails tika izveidots.
  12. Lai aizvērtu failu, objektam izmantojiet funkciju close ().
  13. Cita paziņojuma pamatteksta beigas.
  14. Programmai ir jāatgriež vērtība, ja tā tiek veiksmīgi pabeigta.
  15. Galvenās () funkcijas pamatteksta beigas.

Kā aizvērt failus

Kad C ++ programma tiek pārtraukta, tā tiek veikta automātiski

  • izskalo straumes
  • atbrīvo piešķirto atmiņu
  • aizver atvērtos failus.

Tomēr kā programmētājam jums jāiemācās aizvērt atvērtos failus, pirms programma tiek pārtraukta.

Fstream, offstream un ifstream objektiem ir funkcija close () failu aizvēršanai. Funkcija izmanto šo sintaksi: | _+_ |

Kā rakstīt failos

Jūs varat rakstīt failā tieši no savas C ++ programmas. Jūs izmantojat straumes ievietošanas operatoru (<<) for this. The text to be written to the file should be enclosed within double-quotes.

Parādīsim to.

2. piemērs:

 #include #include using namespace std; int main() { fstream my_file; my_file.open('my_file', ios::out); if (!my_file) { cout << 'File not created!'; } else { cout << 'File created successfully!'; my_file.close(); } return 0; } 

Izeja :

Šeit ir koda ekrānuzņēmums:

Koda skaidrojums:

  1. Lai izmantotu tās funkcijas, programmā iekļaujiet iostream galvenes failu.
  2. Iekļaujiet programmā fstream galvenes failu, lai izmantotu tās klases.
  3. Iekļaujiet programmā standartvārdu telpu, lai izmantotu tās klases, to neizsaucot.
  4. Izsauciet galveno () funkciju. Programmas loģika jāpievieno šīs funkcijas pamattekstā.
  5. Izveidojiet fstream klases instanci un piešķiriet tai nosaukumu my_file.
  6. Izmantojiet funkciju open (), lai izveidotu jaunu failu ar nosaukumu my_file.txt. Fails tiks atvērts izejas režīmā, lai tajā ierakstītu.
  7. Izmantojiet paziņojumu if, lai pārbaudītu, vai fails nav atvērts.
  8. Teksts, kas jādrukā konsolē, ja fails netiek atvērts.
  9. Ja paziņojuma pamatteksta beigas.
  10. Izmantojiet citu paziņojumu, lai norādītu, kā rīkoties, ja fails tika izveidots.
  11. Teksts, ko drukāt konsolē, ja fails tika izveidots.
  12. Ierakstiet izveidotajā failā tekstu.
  13. Lai aizvērtu failu, izmantojiet funkciju close ().
  14. Cita paziņojuma pamatteksta beigas.
  15. Pēc veiksmīgas pabeigšanas programmai ir jāatgriež vērtība.
  16. Galvenās () funkcijas pamatteksta beigas.

Kā lasīt no failiem

C ++ programmā varat nolasīt informāciju no failiem. Tas ir iespējams, izmantojot plūsmas ieguves operatoru (>>). Jūs izmantojat operatoru tādā pašā veidā, kā to izmantojat, lai lasītu lietotāja ievadīto informāciju no tastatūras. Tomēr tā vietā, lai izmantotu cin objektu, jūs izmantojat objektu ifstream/ fstream.

3. piemērs:

 void close(); 

Izeja:

Nav šādu failu

Šeit ir koda ekrānuzņēmums:

Koda skaidrojums:

  1. Lai izmantotu tās funkcijas, programmā iekļaujiet iostream galvenes failu.
  2. Iekļaujiet programmā fstream galvenes failu, lai izmantotu tās klases.
  3. Iekļaujiet programmā standartvārdu telpu, lai izmantotu tās klases, to neizsaucot.
  4. Izsauciet galveno () funkciju. Programmas loģika jāpievieno šīs funkcijas pamattekstā.
  5. Izveidojiet fstream klases instanci un piešķiriet tai nosaukumu my_file.
  6. Izmantojiet funkciju open (), lai izveidotu jaunu failu ar nosaukumu my_file.txt. Fails tiks atvērts režīmā lasīšanai no tā.
  7. Izmantojiet paziņojumu if, lai pārbaudītu, vai fails neeksistē.
  8. Teksts, kas jādrukā konsolē, ja fails netiek atrasts.
  9. Ja paziņojuma pamatteksta beigas.
  10. Izmantojiet citu paziņojumu, lai norādītu, kā rīkoties, ja fails ir atrasts.
  11. Izveidojiet char mainīgo ar nosaukumu ch.
  12. Izveidojiet cikla ciklu, lai atkārtotu faila saturu.
  13. Ierakstiet/saglabājiet faila saturu mainīgajā ch.
  14. Izmantojiet funkciju if nosacījums un eof (), tas ir, faila beigas, lai nodrošinātu, ka kompilators turpina lasīt no faila, ja beigas netiek sasniegtas.
  15. Izmantojiet pārtraukuma paziņojumu, lai pārtrauktu lasīšanu no faila, kad ir sasniegts gals.
  16. Izdrukājiet mainīgā ch saturu konsolē.
  17. Kamēr ķermeņa beigas.
  18. Cita paziņojuma pamatteksta beigas.
  19. Lai aizvērtu failu, izsauciet funkciju close ().
  20. Pēc veiksmīgas pabeigšanas programmai ir jāatgriež vērtība.
  21. Galvenās () funkcijas pamatteksta beigas.

Kopsavilkums:

  • Izmantojot failu apstrādi, programmas izvadi var nosūtīt un saglabāt failā.
  • Pēc tam failā esošajiem datiem var piemērot vairākas darbības.
  • Straume ir abstrakcija, kas attēlo ierīci, kurā tiek veiktas ievades/izvades darbības.
  • Plūsmu var attēlot kā nenoteikta garuma rakstzīmju galamērķi vai avotu.
  • Fstream bibliotēka nodrošina C ++ programmētājus ar failu apstrādes metodēm.
  • Lai izmantotu bibliotēku, tā jāiekļauj savā programmā, izmantojot #include priekšapstrādātāja direktīvu.