Mengoptimumkan Semakan Kewujudan Fail dalam C
Menyemak kewujudan fail adalah operasi asas dalam pengaturcaraan, terutamanya apabila bekerja dengan set besar fail. Dalam C , beberapa kaedah wujud untuk tugasan ini, dengan ciri prestasi yang berbeza.
Untuk menentukan kaedah yang paling cekap, penanda aras telah dijalankan menggunakan program ujian yang menjalankan setiap kaedah 100,000 kali, separuh pada fail sedia ada dan separuh pada fail yang tidak wujud. Keputusan (purata lebih 5 larian) diringkaskan di bawah:
Method | Time |
---|---|
ifstream | 0.485s |
FILE fopen | 0.302s |
posix access() | 0.202s |
posix stat() | 0.134s |
Seperti yang terbukti daripada keputusan, posix stat() muncul sebagai kaedah terpantas, mengambil hanya 0.134 saat untuk menyelesaikan 100,000 semakan. Kaedah ini memanfaatkan panggilan sistem stat untuk mendapatkan maklumat tentang fail, termasuk kewujudannya.
Untuk melaksanakan posix stat() dalam fungsi wujud anda, anda boleh menggunakan kod berikut:
inline bool exist(const std::string& name) { struct stat buffer; return (stat (name.c_str(), &buffer) == 0); }
Dengan menggunakan posix stat(), anda boleh mengesahkan kewujudan fail dalam program C anda dengan cekap. Kaedah ini amat berharga apabila berurusan dengan set fail yang besar, kerana kelajuannya boleh mengurangkan masa pemprosesan keseluruhan dengan ketara.
Atas ialah kandungan terperinci Apakah Cara Terpantas untuk Semak Kewujudan Fail dalam C ?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!