Cara Membaca dan Menulis ke File di C++

How Read Write File C



Pada artikel ini, kami akan menunjukkan cara membaca dan menulis ke file dalam bahasa pemrograman C++ dengan menggunakan beberapa contoh. Untuk memahami operasi file C++ seperti membaca dan menulis, pertama-tama kita harus memahami konsep aliran dalam C++.

Apa itu Aliran?

Aliran hanyalah aliran data atau karakter. Ada dua jenis aliran: aliran input dan aliran output. Aliran input digunakan untuk membaca data dari perangkat input eksternal seperti keyboard, sedangkan aliran output digunakan untuk menulis data ke perangkat output eksternal seperti monitor. File dapat dianggap sebagai sumber input dan output.









Di C++, kami menggunakan aliran untuk mengirim atau menerima data ke atau dari sumber eksternal.



Kita dapat menggunakan kelas bawaan untuk mengakses aliran input/output, yaitu ios.





Berikut adalah hierarki kelas aliran bahasa pemrograman C++:



Objek cin dan cout masing-masing digunakan untuk membaca data dari keyboard dan menampilkan output pada monitor. Selain itu, ifstream, yang merupakan singkatan dari aliran file input, digunakan untuk membaca aliran data dari file, dan ofstream, yang merupakan singkatan dari aliran file output, digunakan untuk menulis aliran data ke file.

File iostram.h berisi semua kelas aliran input/output standar yang diperlukan dalam bahasa pemrograman C++.

Contoh

Sekarang setelah Anda memahami dasar-dasar stream, kami akan membahas contoh berikut untuk membantu Anda lebih memahami operasi file di C++:

  • Contoh 1: Membuka dan Menutup File
  • Contoh 2: Menulis ke File
  • Contoh 3: Membaca dari File
  • Contoh 4: Membaca dan Menulis ke File
  • Contoh 5: Membaca dan Menulis ke File Biner

Contoh 1: Membuka dan Menutup File

Dalam program contoh ini, kami akan mendemonstrasikan cara membuka/membuat file dan cara menutup file di C++. Seperti yang Anda lihat di program di bawah ini, kami telah menyertakan perpustakaan yang diperlukan untuk operasi file.

Untuk membuka dan menutup file, kita membutuhkan objek ofstream. Kemudian, untuk membaca atau menulis ke suatu file, kita harus membuka file tersebut. Kami telah menyertakan file header fstream pada baris nomor-1 sehingga kami dapat mengakses kelas ofstream.

Kami telah mendeklarasikan myFile_Handler sebagai objek ofstream di dalam fungsi utama. Kita kemudian dapat menggunakan fungsi open() untuk membuat file kosong dan fungsi close() untuk menutup file.

#termasuk

menggunakan ruang namajam;

ke dalamutama()
{
aliran myFile_Handler;

// File Terbuka
myFile_Handler.membuka('File_1.txt');

// Tutup File
myFile_Handler.Menutup();
kembali 0;
}

Sekarang, kita akan mengkompilasi program dan memeriksa hasilnya. Seperti yang Anda lihat di jendela output di bawah, file File_1.txt dibuat setelah menjalankan program. Ukuran file adalah nol karena kami belum menulis konten apa pun dalam file.

Contoh 2: Menulis ke File

Dalam contoh program sebelumnya, kami menunjukkan kepada Anda cara membuka file dan cara menutup file. Sekarang, kami akan menunjukkan cara menulis sesuatu dalam file.

Kita dapat menulis ke file menggunakan operator penyisipan aliran, yaitu,<<. In this program, we have used the file handler and insertion operator to write two lines in the file. The insertion operator (<<) indicates that we are inserting the string into the output file stream object.

#termasuk

menggunakan ruang namajam;

ke dalamutama()
{
aliran myFile_Handler;
// File Terbuka
myFile_Handler.membuka('File_1.txt');

// Tulis ke file
myFile_Handler<< 'Ini adalah file uji sampel. ' <<akhir;
myFile_Handler<< 'Ini adalah baris kedua dari file. ' <<akhir;

// Tutup File
myFile_Handler.Menutup();
kembali 0;
}

Sekarang, kita akan mengkompilasi program di atas dan menjalankannya. Seperti yang Anda lihat di bawah, kami telah berhasil menulis ke file File_1.txt.

Contoh 3: Membaca dari File

Pada contoh sebelumnya, kami menunjukkan cara menulis konten ke file. Sekarang, mari kita membaca konten dari file yang kita buat di Contoh-2 dan menampilkan konten pada perangkat output standar, yaitu monitor.

Kami menggunakan fungsi getline() untuk membaca baris lengkap dari file dan kemudian cout untuk mencetak baris pada monitor.

#termasuk
#termasuk
#termasuk

menggunakan ruang namajam;

ke dalamutama()
{
ifstream myFile_Handler;
string myLine;

// Buka File dalam Mode Baca
myFile_Handler.membuka('File_1.txt');

jika(myFile_Handler.terbuka())
{
// Terus membaca file
ketika(getline(myFile_Handler, myLine))
{
// cetak baris pada output standar
biaya <<myLine<<akhir;
}
// Tutup File
myFile_Handler.Menutup();
}
lain
{
biaya << 'Tidak dapat membuka file!';
}
kembali 0;
}

Sekarang, kita akan mencetak konten File_1.txt menggunakan perintah berikut: cat File_1.txt. Setelah kami mengkompilasi dan menjalankan program, jelas bahwa output sesuai dengan isi file. Oleh karena itu, kami telah berhasil membaca file dan mencetak konten file ke monitor.

Contoh 4: Membaca dan Menulis ke File

Sejauh ini, kami telah menunjukkan kepada Anda cara membuka, membaca, menulis, dan menutup file. Di C++, kita juga bisa membaca dan menulis ke file secara bersamaan. Untuk membaca dan menulis ke file, kita harus mendapatkan objek fstream dan membuka file dalam mode ios::in dan ios::out.

Dalam contoh ini, pertama-tama kita menulis beberapa konten ke file. Kemudian, kami membaca data dari file dan mencetaknya ke monitor.

#termasuk
#termasuk
#termasuk

menggunakan ruang namajam;

ke dalamutama()
{
fstream myFile_Handler;
string myLine;

// File Terbuka
myFile_Handler.membuka('File_1.txt', ios::di dalam |ios::keluar);

// Periksa apakah file telah dibuka
jika(!myFile_Handler)
{
biaya << 'File tidak terbuka!';
keluar(1);
}

// Tulis ke file
myFile_Handler<< '1. Ini adalah file uji sampel lain. ' <<akhir;
myFile_Handler<< '2. Ini adalah baris kedua dari file. ' <<akhir;

myFile_Handler.mencari(ios::mengemis);

// Baca Filenya
jika(myFile_Handler.terbuka())
{
// Terus membaca file
ketika(getline(myFile_Handler, myLine))
{
// cetak baris pada output standar
biaya <<myLine<<akhir;
}

// Tutup File
myFile_Handler.Menutup();
}
lain
{
biaya << 'Tidak dapat membuka file!';
}
myFile_Handler.Menutup();
kembali 0;
}

Sekarang, kita akan mengkompilasi dan menjalankan program.

Contoh 5: Membaca dan Menulis ke File Biner

Dalam contoh ini, kita akan mendeklarasikan kelas dan kemudian menulis objek ke file biner. Untuk menyederhanakan contoh ini, kami telah mendeklarasikan kelas Karyawan dengan variabel publik emp_id. Kemudian, kita akan membaca file biner dan mencetak output ke monitor.

#termasuk
#termasuk

menggunakan ruang namajam;

kelasKaryawan
{
publik:
ke dalamemp_id;
};

ke dalamutama()
{
ofstream binOutFile_Handler;
ifstream binInFile_Handler;

Karyawan empObj_W, empObj_R;

// File Terbuka
binOutFile_Handler.membuka('karyawan.dat', ios::keluar |ios::biner);

// Periksa apakah file telah dibuka
jika(!binOutFile_Handler)
{
biaya << 'File tidak terbuka!';
keluar(1);
}

// Inisialisasi empObj_W
empObj_W.emp_id = 1512;

// Tulis ke file
binOutFile_Handler.menulis((arang *) &empObj_W,ukuran dari(Karyawan));
binOutFile_Handler.Menutup();

jika(!binOutFile_Handler.bagus())
{
biaya << 'Terjadi kesalahan saat menulis file biner!' <<akhir;
keluar(2);
}

// Sekarang, mari kita baca file employee.dat
binInFile_Handler.membuka('karyawan.dat', ios::di dalam |ios::biner);
// Periksa apakah file telah dibuka
jika(!binInFile_Handler)
{
biaya << 'File tidak terbuka!';
keluar(3);
}

// Baca isi file biner
binInFile_Handler.Baca((arang *) &empObj_R,ukuran dari(Karyawan));
binInFile_Handler.Menutup();

jika(!binInFile_Handler.bagus())
{
biaya << 'Terjadi kesalahan saat membaca file biner!' <<akhir;
keluar(4);
}

// Cetak output dari empObj_R
biaya << 'Detail Karyawan :' <<akhir;
biaya << 'Identitas pegawai : ' <<empObj_R.emp_id <<akhir;

kembali 0;
}

Kesimpulan

File terutama digunakan untuk menyimpan data, dan mereka memainkan peran penting dalam pemrograman dunia nyata. Pada artikel ini, kami menunjukkan kepada Anda cara menggunakan berbagai operasi file dengan bahasa pemrograman C++ dengan mengerjakan beberapa contoh. Selanjutnya, kami menunjukkan kepada Anda cara membaca dan menulis data ke dalam file teks dan file biner.