Avatar ·

C++ (C++11/14/17) में फ़ाइल के अस्तित्व की तुरंत जाँच कैसे करें?

सभी को नमस्कार! मैं लगभग एक साल से C++ में कोड लिख रहा हूँ, लेकिन अब तक मुझे डिस्क पर फ़ाइल के अस्तित्व की जाँच करने का सबसे अच्छा तरीका नहीं मिला है। समस्या यह है कि मुझे यह बहुत बार करना होता है — एक लूप में सैकड़ों फ़ाइलों को प्रोसेस करता हूँ, और हर मिलीसेकंड मायने रखता है। अब मैं यह कोड उपयोग कर रहा हूँ:

#include <fstream>
bool fileExists(const std::string& filename) {
    std::ifstream f(filename.c_str());
    return f.good();
}
यह काम करता है, लेकिन मुझे संदेह है कि यह सबसे तेज़ विकल्प नहीं है, क्योंकि यह पूरी फ़ाइल को खोलता है। मैंने `stat()` का भी उपयोग करके देखा:

#include <sys/stat.h>
bool fileExists(const std::string& name) {
    struct stat buffer;
    return (stat(name.c_str(), &buffer) == 0);
}
लेकिन यह प्लेटफ़ॉर्म-निर्भर है।