संभव डुप्लिकेट:
What’s the best way to check if a file exists in C? (cross platform)सी, जांचें कि फ़ाइल पढ़ने/लिखने में सक्षम होने के बिना मौजूद है या नहीं?
मैं एक फ़ाइल मौजूद है या नहीं, इसकी जांच करना चाहते हैं। मैंने अपने testfile की अनुमतियों को "chmod -r somefile" में बदल दिया। हालांकि अब यह कहता है कि फ़ाइल मौजूद नहीं है, भले ही यह अस्तित्व में है।
तो मुझे लगता है कि अगर मुझे पढ़ने की अनुमति नहीं है तो मैं "fopen r" के साथ फ़ाइल नहीं खोल सकता। लेकिन इसका मतलब यह होगा कि कोई फ़ाइल मौजूद है या नहीं पढ़ा जा सकता है या नहीं लिखा जा सकता है?
या क्या मुझे कुछ याद आ रहा है? कोई भी मदद बहुत अच्छी रहेगी।
धन्यवाद!
int doesFileExist(const char* filename)
{
FILE* fptr = fopen(filename, "r");
if (fptr != NULL)
{
fclose(fptr);
printf("File exists\n");
return 1;
}
printf("File doesnt exist\n");
return 0;
}
अद्यतन: इन महान लिंक और स्पष्टीकरण के लिए धन्यवाद दोस्तों!
उम .. क्या आपने 'errno' की जांच की है? संपादित करें: कुछ त्रुटि संदेश प्राप्त करने के लिए इसे आज़माएं: 'printf (" फ़ाइल मौजूद नहीं है:% s \ n ", strerror (errno)); 'errno.h' हेडर शामिल करना न भूलें। – Jack
यह वही है जो मुझे stdio API के बारे में नफरत है, जब भी आपको किसी फ़ाइल को आकार बदलने की तरह कुछ नॉनट्रिविअल करने की आवश्यकता होती है, या इसे कॉपी करने और पुराने को हटाने के बिना फ़ाइल को स्थानांतरित करने की आवश्यकता होती है, तो आप पोर्टेबिलिटी के मामले में भाग्य से बाहर हैं। – Thomas