Pengendalian Fail C ++: Cara Membuka, Menulis, Membaca, Menutup Fail di C ++

Apakah pengendalian fail di C ++?

Fail menyimpan data secara kekal dalam peranti simpanan. Dengan pengendalian fail, output dari program dapat disimpan dalam fail. Pelbagai operasi dapat dilakukan pada data semasa di dalam fail.

Aliran adalah pengabstrakan peranti di mana operasi input / output dilakukan. Anda boleh mewakili aliran sebagai destinasi atau sumber watak yang panjangnya tidak terbatas. Ini akan ditentukan oleh penggunaannya. C ++ memberi anda perpustakaan yang dilengkapi dengan kaedah untuk pengendalian fail. Marilah kita membincangkannya.

Dalam tutorial c ++ ini, anda akan belajar:

Perpustakaan aliran

Perpustakaan aliran menyediakan program kelas C ++ dengan tiga kelas untuk bekerja dengan fail. Kelas-kelas ini merangkumi:

  • dari aliran - Kelas ini mewakili aliran output. Ia digunakan untuk membuat fail dan menulis maklumat ke fail.
  • ifstream - Kelas ini mewakili aliran input. Ia digunakan untuk membaca maklumat dari fail data.
  • aliran - Kelas ini secara amnya mewakili aliran fail. Ia dilengkapi dengan keupayaan aliran / ifstream. Ini bermaksud ia mampu membuat fail, menulis ke fail, membaca dari fail data.

Gambar berikut menjadikannya mudah difahami:

perpustakaan aliran



berapa kos pelayan minecraft

Untuk menggunakan kelas di atas pustaka aliran, anda mesti memasukkannya ke dalam program anda sebagai fail tajuk. Sudah tentu, anda akan menggunakan arahan #masuk pemprosesan. Anda juga mesti memasukkan fail tajuk iostream.

Cara Membuka Fail

Sebelum menjalankan sebarang operasi pada fail, anda mesti membukanya terlebih dahulu. Sekiranya anda perlu menulis ke fail, buka dengan menggunakan objek fstream atau ofstream. Sekiranya anda hanya perlu membaca dari fail, buka dengan menggunakan objek ifstream.

Ketiga objek, iaitu, aliran, ofstream, dan ifstream, mempunyai fungsi terbuka () yang ditentukan di dalamnya. Fungsi mengambil sintaks ini:

 open (file_name, mode); 
  • Parameter file_name menunjukkan nama fail yang akan dibuka.
  • Parameter mod adalah pilihan. Ia boleh mengambil salah satu nilai berikut:
Nilai Penerangan
ios :: aplikasiMod Lampirkan. Output yang dihantar ke fail dilampirkan ke dalamnya.
ios :: makanIa membuka fail untuk output kemudian memindahkan kawalan baca dan tulis ke akhir fail.
ios :: dalamIni membuka fail untuk dibaca.
ios :: keluarIni membuka fail untuk menulis.
ios :: batangSekiranya fail ada, elemen fail harus dipotong sebelum dibuka.

Anda boleh menggunakan dua mod pada masa yang sama. Anda menggabungkannya menggunakan | (ATAU) pengendali.

Contoh 1:

 #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; } 

Pengeluaran:

Berikut adalah tangkapan skrin kod:

Penjelasan Kod:

  1. Sertakan fail header iostream dalam program untuk menggunakan fungsinya.
  2. Sertakan fail header fstream dalam program untuk menggunakan kelasnya.
  3. Sertakan ruang nama std dalam kod kami untuk menggunakan kelasnya tanpa memanggilnya.
  4. Panggil fungsi utama (). Logik program harus masuk ke dalam badannya.
  5. Buat objek kelas fstream dan beri nama my_file.
  6. Terapkan fungsi open () pada objek di atas untuk membuat fail baru. Mod keluar membolehkan kita menulis ke dalam fail.
  7. Gunakan pernyataan if untuk memeriksa sama ada penciptaan fail gagal.
  8. Mesej untuk dicetak di konsol jika fail tidak dibuat.
  9. Akhir badan sekiranya penyataan.
  10. Gunakan pernyataan lain untuk menyatakan apa yang harus dilakukan sekiranya fail itu dibuat.
  11. Mesej untuk dicetak di konsol sekiranya fail dibuat.
  12. Terapkan fungsi tutup () pada objek untuk menutup fail.
  13. Akhir badan penyataan yang lain.
  14. Program mesti mengembalikan nilai jika berjaya diselesaikan.
  15. Akhir badan fungsi utama ().

Cara Tutup Fail

Setelah program C ++ ditamatkan, ia secara automatik

  • mengalirkan arus
  • melepaskan memori yang diperuntukkan
  • menutup fail yang dibuka.

Walau bagaimanapun, sebagai pengaturcara, anda harus belajar menutup fail sebelum program berakhir.

Objek fstream, ofstream, dan ifstream mempunyai fungsi close () untuk menutup fail. Fungsi mengambil sintaks ini:

 void close(); 

Cara Menulis ke Fail

Anda boleh menulis ke fail terus dari program C ++ anda. Anda menggunakan pengendali penyisipan aliran (<<) for this. The text to be written to the file should be enclosed within double-quotes.

Mari kita tunjukkan ini.

Contoh 2:

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

Pengeluaran :

Berikut adalah tangkapan skrin kod:

Penjelasan Kod:

  1. Sertakan fail header iostream dalam program untuk menggunakan fungsinya.
  2. Sertakan fail header fstream dalam program untuk menggunakan kelasnya.
  3. Sertakan ruang nama std dalam program untuk menggunakan kelasnya tanpa memanggilnya.
  4. Panggil fungsi utama (). Logik program harus ditambah dalam badan fungsi ini.
  5. Buat contoh kelas fstream dan beri nama my_file.
  6. Gunakan fungsi open () untuk membuat fail baru bernama my_file.txt. Fail akan dibuka dalam mod keluar untuk menulis ke dalamnya.
  7. Gunakan pernyataan if untuk memeriksa sama ada fail belum dibuka.
  8. Teks untuk dicetak pada konsol jika fail tidak dibuka.
  9. Bahagian akhir pernyataan if.
  10. Gunakan pernyataan lain untuk menyatakan apa yang harus dilakukan sekiranya fail itu dibuat.
  11. Teks untuk dicetak pada konsol sekiranya fail dibuat.
  12. Tulis beberapa teks ke fail yang dibuat.
  13. Gunakan fungsi tutup () untuk menutup fail.
  14. Akhir badan penyataan yang lain.
  15. Program mesti mengembalikan nilai setelah berjaya diselesaikan.
  16. Bahagian akhir fungsi utama ().

Cara Membaca dari Fail

Anda boleh membaca maklumat dari fail ke dalam program C ++ anda. Ini mungkin dilakukan dengan menggunakan pengendali pengekstrakan aliran (>>). Anda menggunakan operator dengan cara yang sama seperti yang anda gunakan untuk membaca input pengguna dari papan kekunci. Namun, daripada menggunakan objek cin, anda menggunakan objek ifstream / fstream.

Contoh 3:

 #include #include using namespace std; int main() { fstream my_file; my_file.open('my_file.txt', ios::in); if (!my_file) { cout <> ch; if (my_file.eof()) break; cout << ch; } } my_file.close(); return 0; } 

Pengeluaran:

Tiada fail seperti itu

Berikut adalah tangkapan skrin kod:

Penjelasan Kod:

  1. Sertakan fail header iostream dalam program untuk menggunakan fungsinya.
  2. Sertakan fail header fstream dalam program untuk menggunakan kelasnya.
  3. Sertakan ruang nama std dalam program untuk menggunakan kelasnya tanpa memanggilnya.
  4. Panggil fungsi utama (). Logik program harus ditambah dalam badan fungsi ini.
  5. Buat contoh kelas fstream dan beri nama my_file.
  6. Gunakan fungsi open () untuk membuat fail baru bernama my_file.txt. Fail akan dibuka dalam mod masuk untuk membacanya.
  7. Gunakan pernyataan if untuk memeriksa sama ada fail tersebut tidak wujud.
  8. Teks untuk dicetak pada konsol jika fail tidak dijumpai.
  9. Bahagian akhir pernyataan if.
  10. Gunakan pernyataan lain untuk menyatakan apa yang harus dilakukan sekiranya fail dijumpai.
  11. Buat pemboleh ubah char bernama ch.
  12. Buat gelung sementara untuk lelaran ke atas kandungan fail.
  13. Tulis / simpan kandungan fail dalam pemboleh ubah ch.
  14. Gunakan fungsi if dan eof () iaitu, akhir fail, untuk memastikan penyusun terus membaca dari fail jika akhir tidak tercapai.
  15. Gunakan pernyataan rehat untuk berhenti membaca dari fail sebaik sahaja penghujungnya tercapai.
  16. Cetak kandungan pemboleh ubah ch pada konsol.
  17. Akhir badan sementara.
  18. Akhir badan penyataan yang lain.
  19. Panggil fungsi tutup () untuk menutup fail.
  20. Program mesti mengembalikan nilai setelah berjaya diselesaikan.
  21. Bahagian akhir fungsi utama ().

Ringkasan:

  • Dengan pengendalian fail, output program dapat dikirim dan disimpan dalam fail.
  • Sejumlah operasi kemudian dapat diterapkan pada data ketika berada di dalam file.
  • Aliran adalah pengabstrakan yang mewakili peranti di mana operasi input / output dilakukan.
  • Aliran boleh ditunjukkan sebagai tujuan atau sumber watak yang panjangnya tidak terbatas.
  • Perpustakaan aliran menyediakan kaedah pengaturcaraan C ++ untuk pengendalian fail.
  • Untuk menggunakan perpustakaan, anda mesti memasukkannya ke dalam program anda menggunakan arahan #masuk prosesor.