Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Membaca Integer daripada Fail Teks dengan Garis Panjang Boleh Ubah dalam C?

Bagaimana untuk Membaca Integer daripada Fail Teks dengan Garis Panjang Boleh Ubah dalam C?

DDD
DDDasal
2024-10-29 16:30:02757semak imbas

How to Read Integers from a Text File with Variable-Length Lines in C  ?

Baca Integer daripada Fail Teks dengan C ifstream

Apabila berurusan dengan fail teks yang mengandungi baris integer panjang berubah-ubah, bacaan baris standard simpulan bahasa terbukti berguna:

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

std::ifstream infile("thefile.txt");
std::string line;

while (std::getline(infile, line)) {
  std::istringstream iss(line);
  int n;
  std::vector<int> v;

  while (iss >> n) {
    v.push_back(n);
  }

  // do something useful with v
}</code>

Pendekatan ini menggunakan getline untuk membaca setiap baris dan istringstream untuk menghuraikan integer dalam setiap baris.

Sebagai alternatif, penyelesaian satu baris yang lebih ringkas menggunakan gelung for dan templat tambahan kekal:

<code class="cpp">for (std::string line;
     std::getline(std::cin, line);
     vv.push_back(std::vector<int>(std::istream_iterator<int>(std::stay(std::istringstream(line))),
                                   std::istream_iterator<int>())
                )
     ) { }</code>

Kedua-dua pendekatan secara berkesan menghuraikan jujukan integer panjang pembolehubah daripada fail teks input.

Atas ialah kandungan terperinci Bagaimana untuk Membaca Integer daripada Fail Teks dengan Garis Panjang Boleh Ubah dalam C?. 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