Membaca Integer daripada Fail Sehingga EOF: Mengelak Bacaan Berganda
Kod C yang disediakan membaca integer daripada fail teks sehingga ia sampai ke penghujung daripada fail (EOF). Walau bagaimanapun, ia membaca baris terakhir dua kali, menghasilkan pengulangan dalam output. Ini berlaku kerana:
Penyelesaian:
Untuk menyelesaikan isu ini, gunakan gelung sementara yang keluar selepas membaca EOF:
while (true) { int x; iFile >> x; if (iFile.eof()) break; cerr << x << endl; }
Dalam gelung ini:
Pendekatan ini memastikan bahawa integer terakhir dicetak sahaja sekali.
Nota:
Kod asal mempunyai potensi isu lain: cuba membaca fail kosong. Ini boleh diselesaikan dengan membenamkan operasi baca dalam pernyataan if yang menyemak sama ada strim dibuka dan bukan di EOF.
Atas ialah kandungan terperinci Bagaimana Mencegah Bacaan Berganda Apabila Membaca Integer daripada Fail dalam C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!