C++ Penanganan File: Cara Membuka, Menulis, Membaca, Menutup File di C++

Apa yang dimaksud dengan penanganan file C++?

File menyimpan data secara permanen di perangkat penyimpanan. Dengan penanganan file, keluaran dari suatu program dapat disimpan dalam sebuah file. Berbagai operasi dapat dilakukan pada data saat berada di dalam file.

Aliran adalah abstraksi dari perangkat tempat operasi input/output dilakukan. Anda dapat merepresentasikan aliran sebagai tujuan atau sumber karakter dengan panjang tak terbatas. Hal ini akan ditentukan oleh penggunaannya. C++ memberi Anda perpustakaan yang dilengkapi dengan metode untuk penanganan file. Mari kita diskusikan.

Perpustakaan fstream

Perpustakaan fstream menyediakan C++ programmer dengan tiga kelas untuk bekerja dengan file. Kelas-kelas ini meliputi:

  • arus– Kelas ini mewakili aliran keluaran. Ini digunakan untuk membuat file dan menulis informasi ke file.
  • ifstream– Kelas ini mewakili aliran input. Ini digunakan untuk membaca informasi dari file data.
  • fstream– Kelas ini umumnya mewakili aliran file. Muncul dengan kemampuan ofstream/ifstream. Artinya ia mampu membuat file, menulis ke file, membaca dari file data.

Gambar berikut ini memudahkan kita untuk memahaminya:

perpustakaan fstream
perpustakaan fstream

Untuk menggunakan kelas perpustakaan fstream di atas, Anda harus memasukkannya ke dalam program Anda sebagai file header. Tentu saja, Anda akan menggunakan direktif #include preprocessor. Anda juga harus menyertakan file header iostream.

Cara Membuka File

Sebelum melakukan operasi apa pun pada suatu file, Anda harus membukanya terlebih dahulu. Jika Anda perlu menulis ke file, buka menggunakan objek fstream atau ofstream. Jika Anda hanya perlu membaca dari file, buka menggunakan objek ifstream.

Ketiga objek, yaitu fstream, ofstream, dan ifstream, memiliki fungsi open() yang ditentukan di dalamnya. Fungsinya mengambil sintaks ini:

open (file_name, mode);
  • Parameter file_name menunjukkan nama file yang akan dibuka.
  • Parameter mode bersifat opsional. Parameter ini dapat mengambil salah satu dari nilai berikut:
Nilai Description
ios:: aplikasi Mode Tambah. Output yang dikirim ke file ditambahkan ke dalamnya.
ios::makan Ini membuka file untuk output kemudian memindahkan kontrol baca dan tulis ke akhir file.
ios::dalam Ini membuka file untuk dibaca.
ios::keluar Ini membuka file untuk penulisan.
ios::trunc Jika ada file, elemen file harus dipotong sebelum dibuka.

Dimungkinkan untuk menggunakan dua mode secara bersamaan. Anda menggabungkannya menggunakan | (ATAU) operator.

Contoh 1:

#include <iostream>
#include <fstream>
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;
}

Keluaran:

Buka file

Berikut ini tangkapan layar kodenya:

Buka file

Penjelasan Kode:

  1. Sertakan file header iostream dalam program untuk menggunakan fungsinya.
  2. Sertakan file header fstream dalam program untuk menggunakan kelasnya.
  3. Sertakan namespace std dalam kode kita untuk menggunakan kelasnya tanpa memanggilnya.
  4. Panggil fungsi main(). Logika program harus masuk ke dalam tubuhnya.
  5. Buat objek kelas fstream dan beri nama my_file.
  6. Terapkan fungsi open() pada objek di atas untuk membuat file baru. Mode keluar memungkinkan kita menulis ke dalam file.
  7. Gunakan pernyataan if untuk memeriksa apakah pembuatan file gagal.
  8. Pesan untuk dicetak di konsol jika file belum dibuat.
  9. Akhir dari isi pernyataan if.
  10. Gunakan pernyataan else untuk menyatakan apa yang harus dilakukan jika file telah dibuat.
  11. Pesan untuk dicetak di konsol jika file telah dibuat.
  12. Terapkan fungsi close() pada objek untuk menutup file.
  13. Akhir dari isi pernyataan else.
  14. Program harus mengembalikan nilai jika berhasil diselesaikan.
  15. Akhir dari isi fungsi main().

Cara Menutup File

Sekali a C++ program berakhir, secara otomatis

  • menyiram sungai
  • melepaskan memori yang dialokasikan
  • menutup file yang dibuka.

Namun, sebagai seorang programmer, Anda harus belajar menutup file yang terbuka sebelum program dihentikan.

Objek fstream, ofstream, dan ifstream memiliki fungsi close() untuk menutup file. Fungsinya mengambil sintaks ini:

void close();

Cara Menulis ke File

Anda dapat menulis ke file langsung dari Anda C++ program. Anda menggunakan operator penyisipan aliran (<<) untuk ini. Teks yang akan ditulis ke berkas harus diapit tanda kutip ganda.

Mari kita tunjukkan ini.

Contoh 2:

#include <iostream>
#include <fstream>
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;
}

Keluaran:

Cara Menulis ke File

Berikut ini tangkapan layar kodenya:

Cara Menulis ke File

Penjelasan Kode:

  1. Sertakan file header iostream dalam program untuk menggunakan fungsinya.
  2. Sertakan file header fstream dalam program untuk menggunakan kelasnya.
  3. Sertakan namespace std dalam program untuk menggunakan kelasnya tanpa memanggilnya.
  4. Panggil fungsi main(). Logika program harus ditambahkan dalam isi fungsi ini.
  5. Buat sebuah instance dari kelas fstream dan beri nama my_file.
  6. Gunakan fungsi open() untuk membuat file baru bernama my_file.txt. File akan dibuka dalam mode keluar untuk ditulis ke dalamnya.
  7. Gunakan pernyataan if untuk memeriksa apakah file belum dibuka.
  8. Teks untuk dicetak di konsol jika file tidak dibuka.
  9. Akhir dari isi pernyataan if.
  10. Gunakan pernyataan else untuk menyatakan apa yang harus dilakukan jika file telah dibuat.
  11. Teks untuk dicetak di konsol jika file telah dibuat.
  12. Tulis beberapa teks ke file yang dibuat.
  13. Gunakan fungsi close() untuk menutup file.
  14. Akhir dari isi pernyataan else.
  15. Program harus mengembalikan nilai setelah berhasil diselesaikan.
  16. Akhir dari isi fungsi main().

Cara Membaca dari File

Anda dapat membaca informasi dari file ke dalam file Anda C++ program. Hal ini dimungkinkan dengan menggunakan operator ekstraksi aliran (>>). Anda menggunakan operator tersebut dengan cara yang sama seperti Anda menggunakannya untuk membaca masukan pengguna dari papan ketik. Namun, alih-alih menggunakan objek cin, Anda menggunakan objek ifstream/fstream.

Contoh 3:

#include <iostream>
#include <fstream>
using namespace std;
int main() {
	fstream my_file;
	my_file.open("my_file.txt", ios::in);
	if (!my_file) {
		cout << "No such file";
	}
	else {
		char ch;

		while (1) {
			my_file >> ch;
			if (my_file.eof())
				break;

			cout << ch;
		}

	}
	my_file.close();
	return 0;
}

Keluaran:

Baca dari File

Tidak ada berkas seperti itu

Berikut ini tangkapan layar kodenya:

Baca dari File

Penjelasan Kode:

  1. Sertakan file header iostream dalam program untuk menggunakan fungsinya.
  2. Sertakan file header fstream dalam program untuk menggunakan kelasnya.
  3. Sertakan namespace std dalam program untuk menggunakan kelasnya tanpa memanggilnya.
  4. Panggil fungsi main(). Logika program harus ditambahkan dalam isi fungsi ini.
  5. Buat sebuah instance dari kelas fstream dan beri nama my_file.
  6. Gunakan fungsi open() untuk membuat file baru bernama my_file.txt. File akan dibuka dalam mode untuk membacanya.
  7. Gunakan pernyataan if untuk memeriksa apakah file tersebut tidak ada.
  8. Teks untuk dicetak di konsol jika file tidak ditemukan.
  9. Akhir dari isi pernyataan if.
  10. Gunakan pernyataan lain untuk menyatakan apa yang harus dilakukan jika file ditemukan.
  11. Membuat variabel karakter bernama ch.
  12. Membuat loop sementara untuk mengulangi konten file.
  13. Tulis/simpan konten file dalam variabel ch.
  14. Gunakan kondisi if dan fungsi eof() yaitu, akhir file, untuk memastikan kompiler terus membaca dari file jika akhir tidak tercapai.
  15. Gunakan pernyataan break untuk berhenti membaca file setelah akhir tercapai.
  16. Cetak isi variabel ch di konsol.
  17. Akhir dari tubuh sementara.
  18. Akhir dari isi pernyataan else.
  19. Panggil fungsi close() untuk menutup file.
  20. Program harus mengembalikan nilai setelah berhasil diselesaikan.
  21. Akhir dari isi fungsi main().

Kesimpulan

  • Dengan penanganan file, keluaran suatu program dapat dikirim dan disimpan dalam sebuah file.
  • Sejumlah operasi kemudian dapat diterapkan pada data saat berada di dalam file.
  • Aliran adalah abstraksi yang mewakili perangkat tempat operasi input/output dilakukan.
  • Aliran dapat direpresentasikan sebagai tujuan atau sumber karakter yang panjangnya tidak terbatas.
  • Perpustakaan fstream menyediakan C++ pemrogram dengan metode penanganan file.
  • Untuk menggunakan perpustakaan, Anda harus memasukkannya ke dalam program Anda menggunakan direktif #include preprocessor.