Bagaimana untuk menggunakan fungsi operasi fail dalam C++?

WBOY
Lepaskan: 2023-11-18 15:33:50
asal
1153 orang telah melayarinya

Bagaimana untuk menggunakan fungsi operasi fail dalam C++?

C++ ialah bahasa pengaturcaraan popular yang menyediakan banyak fungsi dan perpustakaan berguna untuk membantu pembangun mengendalikan pelbagai tugas. Antaranya, fungsi operasi fail adalah yang sering kita perlu gunakan, kerana fail adalah salah satu cara utama kita menyimpan data dan maklumat.

Dalam artikel ini, kami akan memperkenalkan cara menggunakan fungsi operasi fail dalam C++ untuk membaca, menulis, menambah, memadam dan mengubah suai fail. Untuk memulakan artikel ini, mari kita lihat membuka dan menutup fail dalam C++.

Buka dan tutup fail

C++ mempunyai format fail standard iaitu pengepala fail pengepala fail . Fail pengepala ini menyediakan tiga kelas utama untuk mengendalikan operasi fail: ifstream, ofstream dan fstream. Melaluinya, kami boleh membuka dan menutup fail, membaca dan menulis fail, dan operasi lain.

Untuk membuka fail, kami menggunakan objek ofstream atau ifstream:

ofstream outputFile("example.txt");
Salin selepas log masuk

Dalam contoh ini, kami mencipta fail yang dipanggil "example.txt" dan mengaitkannya dengan objek ofstream "outputFile". ofstream digunakan untuk menulis ke fail dan akan membuka fail dan mengosongkannya. Jika fail tidak wujud, ia akan dibuat secara automatik. Begitu juga, kami boleh menggunakan ifstream untuk membuka fail sedia ada untuk membaca:

ifstream inputFile("example.txt");
Salin selepas log masuk

Dalam kes ini, kami mencipta objek ifstream "inputFile" dan mengaitkannya dengan fail "example.txt". ifstream digunakan untuk membaca data daripada fail.

Selepas menyelesaikan operasi fail, kita perlu menutup fail tersebut. Ini boleh dicapai dengan memanggil fungsi close():

outputFile.close();
inputFile.close();
Salin selepas log masuk

Membaca fail

Membaca fail adalah operasi biasa, dan biasanya kita perlu mendapatkan data dan maklumat daripada fail. Untuk membaca fail kita boleh menggunakan fungsi ifstream class dan getline(). Fungsi ini membolehkan kita mendapatkan baris teks daripada fail.

ifstream inputFile("example.txt");
string line;

while (getline(inputFile, line)) {
    cout << line << endl;
}

inputFile.close();
Salin selepas log masuk

Dalam contoh ini, kami membuka fail "example.txt" menggunakan objek ifstream "inputFile" dan membaca setiap baris ke dalam objek rentetan "line". Menggunakan gelung sementara, kita boleh mengeluarkan semua kandungan fail ke konsol baris demi baris. Akhir sekali, kami menutup fail untuk membebaskan sumber.

Tulis ke Fail

Selain membaca data daripada fail, kita selalunya perlu menulis data ke fail. Untuk menulis ke fail, kami boleh menggunakan ofstream class dan << Operator ini digunakan untuk menulis data ke fail.

ofstream outputFile("example.txt");

if (outputFile.is_open()) {
    outputFile << "Hello, world!" << endl;
    outputFile.close();
}
Salin selepas log masuk

Dalam contoh ini, kami mencipta objek ofstream "outputFile" dan menulis baris "Hello, world!" pada fail "example.txt". Kami juga memastikan bahawa fail dibuka dengan jayanya dengan memanggil fungsi is_open(). Akhir sekali, kami menutup fail dan melepaskan sumber.

Tambah ke Fail

Kadangkala, kita perlu menambah data pada penghujung fail sedia ada dan bukannya menimpanya. Untuk menambah data pada penghujung fail, kami boleh menggunakan ofstream class dan ios::app mod. Mod ini digunakan untuk menambah data dan bukannya menimpa data.

ofstream outputFile("example.txt", ios::app);

if (outputFile.is_open()) {
    outputFile << "This is a new line!" << endl;
    outputFile.close();
}
Salin selepas log masuk

Dalam contoh ini, kami mencipta objek ofstream "outputFile" sekali lagi, tetapi kali ini kami menggunakan mod ios::app untuk menambahkan data pada penghujung fail. Kami menulis baris data pada fail "Ini adalah baris baharu dan menutup fail untuk membebaskan sumber.

Padam Fail

Dalam sesetengah kes, kita perlu memadamkan fail. Untuk memadam fail, kami perlu menggunakan fungsi remove():

if (remove("example.txt") != 0) {
    cout << "Error deleting file";
} else {
    cout << "File successfully deleted";
}
Salin selepas log masuk

Dalam contoh ini, kami menggunakan fungsi remove() untuk memadam fail "example.txt". Jika fungsi dilaksanakan dengan jayanya, nilai pulangan ialah 0 jika ralat berlaku, nilai pulangan adalah bukan sifar. Kita boleh menilai sama ada operasi itu berjaya berdasarkan nilai pulangan.

Ubah suai fail

Akhir sekali, kadangkala kita perlu mengubah suai fail. Untuk mengubah suai fail kita boleh menggunakan kelas fstream. Kelas ini serupa dengan kelas ifstream dan ofstream, tetapi boleh digunakan untuk membaca dan menulis fail.

fstream file("example.txt", ios::in | ios::out);

if (file.is_open()) {
    string line;
    while (getline(file, line)) {
        if (line == "Hello, world!") {
            file.seekp(-line.length(), ios::cur);
            file << "This is a new line!";
            break;
        }
    }

    file.close();
}
Salin selepas log masuk

Dalam contoh ini, kami mencipta "fail" objek fstream dan menetapkan mod failnya kepada ios::in ios::out untuk membaca dan menulis fail. Kami menggunakan gelung sementara untuk membaca baris data daripada fail dan mencari baris tertentu ("Hello, dunia!"). Jika baris ditemui, fungsi seekp() digunakan untuk mengalihkan penunjuk ke kedudukan semasa dan operator

Artikel ini menerangkan cara menggunakan fungsi operasi fail dalam C++ untuk membaca, menulis, menambah, memadam dan mengubah suai fail. Memandangkan fungsi pengendalian fail memainkan peranan penting dalam menulis kod, kebiasaan dengan sintaks dan penggunaannya adalah penting untuk pembangunan C++.

Atas ialah kandungan terperinci Bagaimana untuk menggunakan fungsi operasi fail dalam C++?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!