Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Membaca Kandungan Fail ke dalam Rentetan dalam C Menggunakan Iterator?

Bagaimana untuk Membaca Kandungan Fail ke dalam Rentetan dalam C Menggunakan Iterator?

Barbara Streisand
Barbara Streisandasal
2024-11-02 08:05:29641semak imbas

How to Read File Contents into a String in C   Using Iterators?

Membaca Kandungan Fail ke dalam Rentetan dalam C

Dalam C , terdapat beberapa kaedah untuk membaca kandungan fail menjadi satu dengan cekap pembolehubah rentetan. Satu pendekatan ialah menggunakan kelas std::ifstream.

Coretan kod berikut memberikan contoh cara membaca kandungan fail ke dalam rentetan menggunakan std::ifstream dan iterator:

<code class="cpp">#include <fstream>
#include <string>

int main(int argc, char** argv)
{
  std::ifstream ifs("myfile.txt");
  std::string content( (std::istreambuf_iterator<char>(ifs) ),
                       (std::istreambuf_iterator<char>()    ) );

  return 0;
}</code>

Kod di atas membuka fail "myfile.txt" untuk membaca dan menggunakan iterator untuk membaca kandungan fail ke dalam rentetan kandungan. Pernyataan std::ifstream ifs("myfile.txt"); memulakan objek ifs dan membuka fail yang ditentukan untuk dibaca.

Barisan kedua kod, std::string content( (std::istreambuf_iterator(ifs) ), (std::istreambuf_iterator(ifs) dibina dengan objek ifs dan iterator std::istreambuf_iterator() dibina tanpa argumen untuk mewakili penghujung fail. Rentetan kandungan kemudiannya dibina menggunakan iterator ini, dengan berkesan membaca keseluruhan kandungan fail ke dalam rentetan.

Setelah kandungan fail dibaca ke dalam rentetan kandungan, anda boleh mengakses dan memanipulasi rentetan mengikut keperluan. Contohnya, anda boleh mengeluarkan kandungan ke konsol atau melakukan operasi rentetan lain.

Atas ialah kandungan terperinci Bagaimana untuk Membaca Kandungan Fail ke dalam Rentetan dalam C Menggunakan Iterator?. 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