Rumah > pembangunan bahagian belakang > C++ > Bagaimana Mendapatkan Saiz Fail dalam C : Pendekatan Mudah dan Boleh Dipercayai?

Bagaimana Mendapatkan Saiz Fail dalam C : Pendekatan Mudah dan Boleh Dipercayai?

Susan Sarandon
Lepaskan: 2024-11-11 12:58:03
asal
983 orang telah melayarinya

How to Get a File's Size in C  : A Simple and Reliable Approach?

Menentukan Saiz Fail dalam C

Pertanyaan "Bagaimana saya boleh mendapatkan saiz fail dalam C?" menggesa penerokaan ke dalam kaedah yang paling lazim untuk melaksanakan tugas ini sambil mematuhi kriteria tertentu.

Kriteria:

  • Mudah alih merentas platform (Unix, Mac, Windows)
  • Boleh dipercayai dan tepat
  • Mudah difahami dan tanpa luaran kebergantungan perpustakaan

Pendekatan Biasa:

Menggunakan ciri I/O fail asli C, pendekatan biasa untuk menentukan saiz fail melibatkan perkara berikut langkah:

#include <fstream>

std::ifstream::pos_type filesize(const char* filename) {
    std::ifstream in(filename, std::ifstream::ate | std::ifstream::binary);
    return in.tellg();
}
Salin selepas log masuk

Penjelasan:

  1. Sertakan perpustakaan untuk operasi I/O fail.
  2. Tentukan saiz fail fungsi yang menerima nama fail sebagai parameter dan mengembalikan saiz fail sebagai std::ifstream::pos_type.
  3. Buat std: :ifstream objek dalam dan buka fail yang ditentukan oleh nama fail dalam mod "perduaan". (std::ifstream::binary).
  4. Gunakan mod std::ifstream::ate untuk meletakkan penunjuk fail di hujung fail.
  5. Dapatkan semula kedudukan penuding fail semasa menggunakan in.tellg(), yang mengembalikan saiz fail dalam bait.
  6. Kembalikan fail saiz.

Maklumat Tambahan:

Sila ambil perhatian bahawa penyelesaian ini menganggap fail tidak dibuka dalam aplikasi lain, yang mungkin menjejaskan saiz fail. Untuk butiran lanjut tentang pengendalian fail dalam C , rujuk: http://www.cplusplus.com/doc/tutorial/files/.

Atas ialah kandungan terperinci Bagaimana Mendapatkan Saiz Fail dalam C : Pendekatan Mudah dan Boleh Dipercayai?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan