Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah Saya Boleh Menentukan Saiz Fail dalam C Dengan Ketergantungan Minimum?

Bagaimanakah Saya Boleh Menentukan Saiz Fail dalam C Dengan Ketergantungan Minimum?

Barbara Streisand
Lepaskan: 2024-11-23 00:51:12
asal
578 orang telah melayarinya

How Can I Determine File Size in C   With Minimal Dependencies?

Menentukan Saiz Fail dalam C dengan Ketergantungan Minimum

Mendapatkan semula saiz fail ialah keperluan biasa dalam pelbagai senario pengaturcaraan. Dalam C , banyak kaedah boleh digunakan untuk mencapai matlamat ini. Artikel ini membincangkan pendekatan mudah alih dan boleh dipercayai yang meminimumkan kebergantungan perpustakaan luaran.

Salah satu kaedah paling mudah untuk menentukan saiz fail ialah menggunakan kelas std::ifstream. Pendekatan ini tidak memerlukan sebarang perpustakaan tambahan dan disokong secara meluas merentas platform seperti Unix, Mac dan Windows.

#include <fstream>

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

Dalam kod ini, bendera ate menyatakan bahawa strim fail harus bermula pada penghujung fail itu. Bendera binari memastikan bahawa fail dibuka dalam mod binari, yang penting untuk menentukan saiz fail dengan tepat pada semua platform.

Fungsi tellg() mengembalikan kedudukan semasa penuding fail, yang sepadan dengan saiz fail. Walau bagaimanapun, ambil perhatian bahawa pendekatan ini mungkin tidak selalu boleh dipercayai, kerana fungsi tellg() boleh mengembalikan nilai yang salah dalam keadaan tertentu. Oleh itu, kaedah alternatif mungkin diperlukan dalam beberapa kes.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menentukan Saiz Fail dalam C Dengan Ketergantungan Minimum?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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