Rumah >pembangunan bahagian belakang >tutorial php >Fail berfungsi untuk membaca dan menulis fail dengan cepat

Fail berfungsi untuk membaca dan menulis fail dengan cepat

王林
王林asal
2023-06-15 21:34:351066semak imbas

Dokumen adalah bahagian penting dalam kerja dan kehidupan harian kita. Fungsi fail ialah alat utama untuk mengendalikan operasi fail dan boleh membantu kami membaca dan menulis kandungan fail dengan cepat. Dalam artikel ini, kami akan memperkenalkan cara menggunakan fungsi fail untuk meningkatkan kecekapan dan kemudahan kerja anda.

1. Gambaran keseluruhan fungsi fail

Fungsi fail ialah satu set fungsi yang digunakan untuk mengendalikan operasi fail. Dalam kebanyakan bahasa pengaturcaraan, perpustakaan fungsi fail standard disediakan, seperti pustaka fail standard C++, modul IO Python, dsb. Pustaka fungsi ini menyediakan pelbagai fungsi yang boleh dipanggil terus, mengurangkan kesukaran merangkum kod .

Fungsi fail biasanya termasuk kategori berikut:

  1. Buka dan tutup fail: Fungsi ini digunakan untuk membuka dan menutup fail untuk operasi baca dan tulis seterusnya.
  2. Membaca dan menulis kandungan fail: Fungsi ini boleh membaca dan menulis kandungan fail.
  3. Kedudukan fail: Fungsi ini digunakan untuk mencari kedudukan penunjuk fail untuk meneruskan membaca dan menulis kandungan fail.
  4. Pertanyaan status fail: Fungsi ini digunakan untuk menanyakan status fail, seperti sama ada fail itu wujud, saiz fail dan maklumat lain.

2. Penggunaan khusus fungsi fail

Sebelum menggunakan fungsi fail, kita perlu memahami beberapa konsep penting.

Penunjuk fail: Penunjuk fail ialah penunjuk ke lokasi dalaman fail Ia digunakan untuk mengekalkan lokasi baca atau tulis semasa. Dalam kebanyakan kes, kita boleh menggunakan penunjuk lalai yang disediakan oleh sistem. Apabila kita menggunakan fungsi fail untuk membaca dan menulis fail, penunjuk akan secara automatik meningkat dan menghala ke lokasi seterusnya yang boleh dibaca atau ditulis.

Kaedah membuka fail: Fungsi fail menyediakan beberapa cara untuk membuka fail, termasuk baca sahaja, tulis sahaja dan baca-tulis. Apabila membuka fail, kita perlu menggunakan kaedah yang sesuai untuk menentukan jenis operasi yang ingin kita capai.

Berikut ialah kes mudah untuk membantu kami lebih memahami cara menggunakan fungsi fail.

Kes: Membaca maklumat pelajar daripada fail

Andaikan kita sedang menulis program untuk membaca maklumat pelajar daripada fail. Andaikan bahawa setiap baris mengandungi maklumat pelajar, termasuk nama dan gred, dalam format "nama:gred", seperti "Zhang San:90".

Pertama, kita perlu membuka fail. Dalam C++, kita boleh menggunakan perpustakaan fstream untuk memanipulasi fail. Berikut ialah contoh membuka fail:

#include <fstream>
using namespace std;

int main()
{
    fstream file("students.txt", ios::in); //打开students.txt文件,只读方式
    if(!file)  // 如果打开文件失败
    {
        cout << "文件打开失败" << endl;
        return -1; 
    }
    // 读取文件内容...

    file.close(); // 关闭文件
    return 0; 
}

Dalam kod di atas, kami menggunakan kelas fstream dalam pustaka fstream untuk membuka fail, dengan "students.txt" mewakili nama fail dan ios:: dalam mewakili hanya Buka dalam mod baca. Jika membuka fail gagal, mesej segera akan dikeluarkan dan program akan keluar jika tidak, kami boleh terus membaca dan menulis fail.

Kemudian, kita perlu membaca setiap baris dalam fail dan menyimpan maklumat pelajar ke dalam tatasusunan aksara dua dimensi. Berikut ialah contoh membaca fail dan menyimpan maklumat pelajar:

#include <fstream>
#include <iostream>
#include <string>
using namespace std;

int main()
{
    fstream file("students.txt", ios::in); // 打开students.txt文件,只读方式
    if(!file)  // 如果打开文件失败
    {
        cout << "文件打开失败" << endl;
        return -1; 
    }

    string line; // 定义一个变量用于存储每行读取的内容
    string student[100][2]; // 定义数组用于存储学生信息

    int i = 0;
    while (getline(file, line)) // 逐行读取文件内容
    {
        int pos = line.find(":"); // find函数用于查找给定字符(‘:’)的位置
        if(pos != -1)
        {
            student[i][0] = line.substr(0, pos);  // substr函数用于截取子字符串
            student[i][1] = line.substr(pos + 1);
            i++;
        }
    }

    file.close(); // 关闭文件

    // 输出读取的学生信息
    for(int j = 0; j < i; j++)
    {
        cout << "姓名:" << student[j][0] << ",成绩:" << student[j][1] << endl;
    }

    return 0; 
}

Dalam kod di atas, kami menggunakan fungsi getline untuk membaca kandungan fail baris demi baris dan menggunakan fungsi substr untuk memintas nama pelajar dalam setiap baris dan gred. Akhir sekali, kami menyimpan maklumat pelajar yang dibaca ke dalam tatasusunan pelajar dan mengeluarkan nama dan gred setiap pelajar.

Akhir sekali, kita perlu menulis beberapa data pada fail Berikut ialah contoh menulis fail:

#include <fstream>
#include <iostream>
#include <string>
using namespace std;

int main()
{
    fstream file("students.txt", ios::out); // 打开students.txt文件,只写方式
    if(!file)  // 如果打开文件失败
    {
        cout << "文件打开失败" << endl;
        return -1; 
    }

    string student[2][2] = {
        {"张三", "90"},
        {"李四", "80"}
    }; // 定义学生信息

    // 将学生信息写入文件
    for(int i = 0; i < 2; i++)
    {
        file << student[i][0] << ":" << student[i][1] << endl;
    }

    file.close(); // 关闭文件

    return 0; 
}

Dalam kod di atas, kami menggunakan kelas ofstream untuk membuka fail, ios:: out bermaksud membuka fail untuk menulis sahaja. Kemudian, kami menggunakan gelung for untuk menulis maklumat pelajar pada fail satu demi satu, dan menambah simbol pemulangan pengangkutan di hujung setiap baris. Akhirnya, kami menutup fail selepas program selesai dilaksanakan.

3. Had fungsi fail

Fungsi fail ialah alat yang diperlukan untuk memproses operasi fail, tetapi ia juga mempunyai beberapa had. Berikut ialah beberapa had biasa:

  1. Had saiz fail: Fungsi fail mungkin dihadkan oleh saiz fail semasa membaca dan menulis fail. Jika semasa membaca dan menulis fail, fail terlalu besar untuk dibaca atau ditulis ke dalam ingatan sekaligus, anda perlu membaca dan menulis dalam segmen.
  2. Isu pemprosesan fail binari: Fungsi fail biasanya digunakan untuk memproses fail teks. Walau bagaimanapun, bekerja dengan fail binari memerlukan penggunaan fungsi dan teknik khas.
  3. Isu perkongsian fail: Membaca dan menulis fail yang sama dalam berbilang program pada masa yang sama boleh menyebabkan isu dan konflik perkongsian fail.

Ringkasnya, fungsi fail sangat berguna apabila berurusan dengan operasi fail. Walau bagaimanapun, apabila menggunakan fungsi fail, kita perlu memberi perhatian kepada batasannya untuk mengelakkan masalah yang tidak perlu.

Atas ialah kandungan terperinci Fail berfungsi untuk membaca dan menulis fail dengan cepat. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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