Membaca Baris dan Fail dalam C
Seperti yang anda nyatakan dalam pertanyaan anda, membaca fail baris demi baris atau keseluruhannya adalah lebih cekap daripada memprosesnya perkataan demi perkataan, terutamanya untuk fail besar. Berikut ialah penjelasan terperinci tentang cara untuk mencapai kedua-dua senario:
Membaca Baris demi Baris:
Untuk membaca fail baris demi baris, anda boleh menggunakan std::getline fungsi. Berikut ialah contoh:
#include <fstream> #include <string> int main() { std::ifstream file("Read.txt"); std::string line; while (std::getline(file, line)) { // Process each line here } }
Coretan kod ini membuka fail bernama "Read.txt" dan membaca setiap baris yang disimpan dalam rentetan baris. Anda kemudiannya boleh memproses baris individu mengikut keperluan.
Membaca Keseluruhan Fail Sekaligus:
Untuk membaca keseluruhan kandungan fail sekaligus, anda boleh menggabungkan baris ke dalam satu rentetan. Berikut ialah versi diubah suai bagi kod sebelumnya:
std::ifstream file("Read.txt"); std::string line; std::string file_contents; while (std::getline(file, line)) { file_contents += line; file_contents.push_back('\n'); }
Kod ini membaca setiap baris dan menambahkannya pada rentetan file_contents, termasuk aksara baris baharu untuk mengekalkan pemisah baris asal. Rentetan file_contents terakhir akan mengandungi keseluruhan kandungan fail.
Perhatikan bahawa biasanya disyorkan untuk menggunakan pembina ifstream untuk membuka fail dengan nama failnya dan bukannya menggunakan kaedah terbuka dan bergantung pada pemusnah untuk menutup secara automatik fail.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Membaca Baris dan Keseluruhan Fail dengan Cekap dalam C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!