Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Membaca Integer daripada Fail Teks dengan Garis Panjang Boleh Ubah dalam 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!