Penanganan File C++: Menguasai Operasi Buka, Baca, Tulis, dan Tutup
Apa Itu Penanganan File dalam C++?
Penanganan file memungkinkan Anda menyimpan data program di perangkat penyimpanan. Dengan mengarahkan output program ke file, Anda dapat melakukan manipulasi, analisis, atau arsip lebih lanjut pada data tersebut.
Sebuah stream adalah abstraksi yang mewakili sumber atau tujuan berkelanjutan dari karakter. C++ menyediakan perpustakaan fstream yang kuat yang menawarkan kelas dan fungsi untuk bekerja dengan file secara mulus.
Dalam tutorial ini Anda akan mempelajari:
Definisi penanganan file dalam C++
Perpustakaan fstream dan kelasnya
Membuka file dalam berbagai mode
Menutup file dengan aman
Menulis data ke file
Membaca data dari file
Perpustakaan fstream
Perpustakaan fstream menyediakan tiga kelas inti:
ofstream – aliran output untuk membuat dan menulis file.
ifstream – aliran input untuk membaca file yang ada.
fstream – aliran gabungan yang mendukung operasi input dan output.
Berikut adalah referensi visual cepat:
Untuk menggunakan kelas ini, sertakan header fstream dan, jika Anda ingin mengeluarkan ke konsol, iostream juga.
Cara Membuka File
Sebelum operasi file apa pun, file harus dibuka. Gunakan ofstream untuk akses tulis-hanya, ifstream untuk baca-hanya, dan fstream untuk keduanya. Setiap kelas menyediakan anggota open():
open(file_name, mode);
file_name – jalur atau nama file target.
mode – opsional; menentukan jenis akses. Bendera umum meliputi:
Nilai
Deskripsi
ios::app
Mode tambah – tulisan ditambahkan ke akhir file.
ios::ate
Buka dan segera cari ke akhir.
ios::in
Buka untuk membaca.
ios::out
Buka untuk menulis.
ios::trunc
Potong file yang ada menjadi panjang nol.
Banyak bendera dapat digabungkan menggunakan operator OR bitwise (|).
Contoh 1: Membuat File
#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; }
Output:
Screenshot program yang berjalan:
Walk-through kode:
Sertakan iostream untuk I/O konsol.
Sertakan fstream untuk aliran file.
Gunakan namespace std untuk kesingkatannya.
Buat objek fstream bernama my_file.
Buka file dalam mode tulis (ios::out).
Periksa keberhasilan pembuka; jika tidak, laporkan kegagalan.
Pada sukses, cetak konfirmasi dan tutup file.
Kembalikan 0 untuk menunjukkan akhir normal.
Cara Menutup File
Meskipun C++ secara otomatis meluruskan dan menutup aliran saat keluar program, secara eksplisit menutup file setelah operasi terakhirnya dianggap praktik yang baik.
Anggota close() tersedia pada fstream, ofstream, dan ifstream:
void close();
Cara Menulis ke File
Operasi tulis menggunakan operator penyisipan aliran (<<). Teks yang akan disimpan harus dikutip atau di-stream langsung.
Contoh 2: Menulis Teks
#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; }
Output:
Screenshot kode:
Walk-through kode:
Sertakan header yang diperlukan.
Buat objek fstream.
Buka file target dalam mode tulis.
Validasi aliran file.
Sisipkan string "Guru99" ke dalam file.
Tutup aliran.
Kembalikan 0.
Cara Membaca dari File
Pembacaan menggunakan operator ekstraksi aliran (>>) seperti cin. Data di-stream ke dalam variabel dengan tipe yang sesuai.
Contoh 3: Membaca Karakter
#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; }
Output:
Screenshot kode yang berjalan:
Walk-through kode:
Sertakan iostream dan fstream.
Buka file untuk dibaca (ios::in).
Periksa keberadaan; jika tidak ada, beritahu pengguna.
Baca karakter demi karakter sampai EOF tercapai.
Cetak setiap karakter ke konsol.
Tutup aliran.
Kembalikan 0.
Ringkasan
Penanganan file mempertahankan output program ke penyimpanan awet.
Streams mengabstraksi perangkat input dan output.
Perpustakaan fstream menyediakan kelas untuk semua operasi file umum.
Selalu sertakan <fstream> (dan <iostream> jika diperlukan) di bagian atas sumber Anda.
Buka file dengan mode yang sesuai, lakukan tindakan yang diinginkan, lalu tutup aliran.