C++

Cara Membaca dan Menulis ke File di C++

Cara Membaca dan Menulis ke File di 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, mis.e., "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 "input file stream," digunakan untuk membaca aliran data dari file, dan "ofstream," yang merupakan singkatan dari "output file stream," digunakan untuk menulis aliran data. ke 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

Dalam contoh program 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 file, kita harus membuka file tersebut. Kami telah menyertakan file header fstream di 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 namespace std;
int utama()

ofstream myFile_Handler;
// File Terbuka
myFile_Handler.buka("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_1".File .txt” dibuat setelah menjalankan program. Ukuran file adalah nol karena kami belum menulis konten apa pun di 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, i.e., “<<”. 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 namespace std;
int utama()

ofstream myFile_Handler;
// File Terbuka
myFile_Handler.buka("File_1.txt");
// Tulis ke file
myFile_Handler << "This is a sample test File. " << endl;
myFile_Handler << "This is the second line of the file. " << endl;
// 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

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

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

#termasuk
#termasuk
#termasuk
menggunakan namespace std;
int utama()

ifstream myFile_Handler;
string myLine;
// Buka File dalam Mode Baca
myFile_Handler.buka("File_1.txt");
jika(myFile_Handler.terbuka())

// Terus membaca file
while(getline(myFile_Handler, myLine))

// cetak baris pada output standar
cout << myLine << endl;

// Tutup File
myFile_Handler.Menutup();

lain

cout << "Unable to open the file!";

kembali 0;

Sekarang, kami akan mencetak konten File_1.txt menggunakan perintah berikut:  cat File_1.txt. Setelah kami mengkompilasi dan menjalankan program, jelas bahwa outputnya cocok dengan konten 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 namespace std;
int utama()

fstream myFile_Handler;
string myLine;
// File Terbuka
myFile_Handler.buka("File_1.txt", ios::masuk | ios::keluar);
// Periksa apakah file telah dibuka
jika(!myFile_Handler)

cout << "File did not open!";
keluar(1);

// Tulis ke file
myFile_Handler << "1. This is another sample test File. " << endl;
myFile_Handler << "2. This is the second line of the file. " << endl;
myFile_Handler.seekg(ios::memohon);
// Baca Filenya
jika(myFile_Handler.terbuka())

// Terus membaca file
while( getline(myFile_Handler, myLine))

// cetak baris pada output standar
cout << myLine << endl;

// Tutup File
myFile_Handler.Menutup();

lain

cout << "Unable to open the 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 binary. 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 namespace std;
karyawan kelas

publik:
int emp_id;
;
int utama()

ofstream binOutFile_Handler;
ifstream binInFile_Handler;
empObj_W karyawan, empObj_R;
// File Terbuka
binOutFile_Handler.buka("Karyawan.dat", ios::out | ios::biner);
// Periksa apakah file telah dibuka
jika(!binOutFile_Handler)

cout << "File did not open!";
keluar(1);

// Inisialisasi empObj_W
empObj_W.emp_id = 1512;
// Tulis ke file
binOutFile_Handler.write((char *) &empObj_W, sizeof(Karyawan));
binOutFile_Handler.Menutup();
jika(!binOutFile_Handler.baik())

cout << "Error occured during writing the binary file!" << endl;
keluar (2);

// Sekarang, mari kita baca karyawannya.file data
binInFile_Handler.buka("Karyawan.dat", ios::in | ios::biner);
// Periksa apakah file telah dibuka
jika(!binInFile_Handler)

cout << "File did not open!";
keluar (3);

// Baca konten file biner
binInFile_Handler.read((char *) &empObj_R, sizeof(Karyawan));
binInFile_Handler.Menutup();
jika(!binInFile_Handler.baik())

cout << "Error occured during reading the binary file!" << endl;
keluar(4);

// Cetak output dari empObj_R
cout << "Details of the Employee : " << endl;
cout << "Employee ID : " << empObj_R.emp_id << endl;
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 cara membaca dan menulis data ke dalam file teks dan file biner.

Game Remaster HD untuk Linux yang Belum Pernah Rilis Linux Sebelumnya
Banyak pengembang dan penerbit game datang dengan remaster HD dari game lama untuk memperpanjang umur waralaba, harap penggemar meminta kompatibilitas...
Cara Menggunakan AutoKey untuk Mengotomatiskan Game Linux
AutoKey adalah utilitas otomatisasi desktop untuk Linux dan X11, diprogram dengan Python 3, GTK dan Qt. Dengan menggunakan skrip dan fungsionalitas MA...
Cara Menampilkan Penghitung FPS di Game Linux
Game Linux mendapat dorongan besar ketika Valve mengumumkan dukungan Linux untuk klien Steam dan game mereka pada tahun 2012. Sejak itu, banyak game A...