C ++

Cara Membaca dan Menulis ke Fail dalam C ++

Cara Membaca dan Menulis ke Fail dalam C ++

Dalam artikel ini, kami akan menunjukkan kepada anda cara membaca dan menulis ke fail dalam bahasa pengaturcaraan C ++ dengan menggunakan beberapa contoh. Untuk memahami operasi fail C ++ seperti membaca dan menulis, kita mesti terlebih dahulu memahami konsep aliran dalam C++.

Apa itu Aliran?

Aliran hanyalah aliran data atau watak. Terdapat dua jenis aliran: aliran input dan aliran output. Aliran input digunakan untuk membaca data dari perangkat input luaran seperti papan kekunci, sementara aliran output digunakan untuk menulis data ke perangkat output luaran seperti monitor. Fail boleh dianggap sebagai sumber input dan output.

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

Kita dapat menggunakan kelas bawaan untuk mengakses aliran input / output, i.e., "Ios".

Berikut adalah hierarki kelas aliran bahasa pengaturcaraan C ++:

Objek "cin" dan "cout" digunakan untuk membaca data dari papan kekunci dan untuk menampilkan output pada monitor, masing-masing. Selain itu, "ifstream," yang berarti "input file stream," digunakan untuk membaca aliran data dari file, dan "ofstream," yang berarti "output file stream," digunakan untuk menulis aliran data ke fail.

"Iostram".h ”fail mengandungi semua kelas aliran input / output standard yang diperlukan dalam bahasa pengaturcaraan C ++.

Contoh

Setelah memahami asas aliran, kami akan membincangkan contoh berikut untuk membantu anda memahami operasi fail dengan lebih baik di C ++:

Contoh 1: Buka dan Tutup Fail

Dalam program contoh ini, kami akan menunjukkan cara membuka / membuat fail dan bagaimana menutup fail di C++. Seperti yang anda lihat dalam program di bawah, kami telah memasukkan perpustakaan yang diperlukan untuk operasi fail.

Untuk membuka dan menutup fail, kita memerlukan objek ofstream. Kemudian, untuk membaca atau menulis ke fail, kita harus membuka fail tersebut. Kami telah memasukkan fail header fstream pada baris nombor-1 sehingga kami dapat mengakses kelas aliran.

Kami telah menyatakan myFile_Handler sebagai objek aliran dalam fungsi utama. Kita kemudian dapat menggunakan fungsi open () untuk membuat file kosong dan fungsi close () untuk menutup fail.

#sertakan
menggunakan ruang nama std;
int utama ()

ofstream myFile_Handler;
// Fail Dibuka
myFile_Handler.buka ("Fail_1.txt ");
// Fail Tutup
myFile_Handler.tutup ();
pulangan 0;

Sekarang, kami akan menyusun program dan memeriksa hasilnya. Seperti yang anda lihat di tetingkap output di bawah, “File_1.fail txt ”dibuat setelah menjalankan program. Ukuran fail adalah sifar kerana kami belum menulis kandungan dalam fail tersebut.

Contoh 2: Tulis ke Fail

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

Kita boleh menulis ke fail menggunakan pengendali 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.

#sertakan
menggunakan ruang nama std;
int utama ()

ofstream myFile_Handler;
// Fail Dibuka
myFile_Handler.buka ("Fail_1.txt ");
// Tulis ke fail
myFile_Handler << "This is a sample test File. " << endl;
myFile_Handler << "This is the second line of the file. " << endl;
// Fail Tutup
myFile_Handler.tutup ();
pulangan 0;

Sekarang, kami akan menyusun program di atas dan melaksanakannya. Seperti yang anda lihat di bawah, kami telah berjaya menulis ke fail File_1.txt.

Contoh 3: Baca dari Fail

Dalam contoh sebelumnya, kami menunjukkan kepada anda cara menulis kandungan ke fail. Sekarang, mari baca kandungan dari fail yang kita buat dalam Contoh-2 dan paparkan kandungan pada peranti output standard, i.e., monitor.

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

#sertakan
#sertakan
#sertakan
menggunakan ruang nama std;
int utama ()

ifstream myFile_Handler;
tali myLine;
// Fail Dibuka dalam Mod Baca
myFile_Handler.buka ("Fail_1.txt ");
sekiranya (myFile_Handler.ia terbuka())

// Terus membaca failnya
semasa (getline (myFile_Handler, myLine))

// cetak garis pada output standard
cout << myLine << endl;

// Fail Tutup
myFile_Handler.tutup ();

yang lain

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

pulangan 0;

Sekarang, kami akan mencetak kandungan File_1.txt menggunakan arahan berikut: kucing File_1.txt. Setelah kami menyusun dan melaksanakan program, jelas bahawa output sesuai dengan kandungan fail. Oleh itu, kami berjaya membaca fail tersebut dan mencetak kandungan fail tersebut ke monitor.

Contoh 4: Baca dan Tulis ke Fail

Setakat ini, kami telah menunjukkan kepada anda cara membuka, membaca, menulis, dan menutup fail. Dalam C ++, kita juga dapat membaca dan menulis ke fail pada masa yang sama. Untuk membaca dan menulis ke file, kita harus mendapatkan objek fstream dan membuka file dalam mod "ios :: in" dan "ios :: out".

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

#sertakan
#sertakan
#sertakan
menggunakan ruang nama std;
int utama ()

fstream myFile_Handler;
tali myLine;
// Fail Dibuka
myFile_Handler.buka ("Fail_1.txt ", ios :: dalam | ios :: keluar);
// Periksa sama ada fail telah dibuka
sekiranya (!myFile_Handler)

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

// Tulis ke fail
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 :: beg);
// Baca Fail
sekiranya (myFile_Handler.ia terbuka())

// Terus membaca failnya
semasa (getline (myFile_Handler, myLine))

// cetak garis pada output standard
cout << myLine << endl;

// Fail Tutup
myFile_Handler.tutup ();

yang lain

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

myFile_Handler.tutup ();
pulangan 0;

Sekarang, kami akan menyusun dan melaksanakan program tersebut.

Contoh 5: Baca dan Tulis ke Fail Binari

Dalam contoh ini, kita akan menyatakan kelas dan kemudian menulis objek ke fail binari. Untuk mempermudah contoh ini, kami telah menyatakan kelas Pekerja dengan emp_id pemboleh ubah awam. Kemudian, kami akan membaca fail binari dan mencetak output ke monitor.

#sertakan
#sertakan
menggunakan ruang nama std;
Pekerja kelas

awam:
int emp_id;
;
int utama ()

ofstream binOutFile_Handler;
ifstream binInFile_Handler;
Pekerja empObj_W, empObj_R;
// Fail Dibuka
binOutFile_Handler.buka ("Pekerja.dat ", ios :: out | ios :: binari);
// Periksa sama ada fail telah dibuka
sekiranya (!binOutFile_Handler)

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

// Permulaan empObj_W
empObj_W.emp_id = 1512;
// Tulis ke fail
binOutFile_Handler.tulis ((char *) & empObj_W, sizeof (Pekerja));
binOutFile_Handler.tutup ();
sekiranya (!binOutFile_Handler.baik())

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

// Sekarang, mari baca pekerja.fail dat
binInFile_Handler.buka ("Pekerja.dat ", ios :: dalam | ios :: binari);
// Periksa sama ada fail telah dibuka
sekiranya (!binInFile_Handler)

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

// Baca kandungan fail binari
binInFile_Handler.baca ((char *) & empObj_R, sizeof (Pekerja));
binInFile_Handler.tutup ();
sekiranya (!binInFile_Handler.baik())

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

// Cetak output empObj_R
cout << "Details of the Employee : " << endl;
cout << "Employee ID : " << empObj_R.emp_id << endl;
pulangan 0;

Kesimpulannya

Fail digunakan terutamanya untuk menyimpan data, dan memainkan peranan penting dalam pengaturcaraan dunia nyata. Dalam artikel ini, kami menunjukkan cara menggunakan pelbagai operasi fail dengan bahasa pengaturcaraan C ++ dengan menggunakan beberapa contoh. Selanjutnya, kami menunjukkan kepada anda cara membaca dan menulis data ke dalam fail teks dan fail binari.

Enjin Permainan Sumber Percuma dan Terbuka untuk Membangunkan Permainan Linux
Artikel ini akan merangkumi senarai enjin permainan sumber percuma dan terbuka yang dapat digunakan untuk mengembangkan permainan 2D dan 3D di Linux. ...
Shadow of the Tomb Raider untuk Tutorial Linux
Shadow of the Tomb Raider adalah penambahan kedua belas untuk siri Tomb Raider - francais permainan aksi-pengembaraan yang dibuat oleh Eidos Montreal....
Cara Meningkatkan FPS di Linux?
FPS bermaksud Bingkai sesaat. Tugas FPS adalah mengukur kadar bingkai dalam pemutaran video atau persembahan permainan. Dengan kata mudah bilangan gam...