आप एक त्वरित और आसान परीक्षण के लिए ओएस access()
प्रणाली अधिकार, man access
से उपयोग कर सकते हैं: unistd.h
# शामिल < >
int access (const char * path, int amode);
एक्सेस() फ़ंक्शन पथ द्वारा नामित फ़ाइल की पहुंच को अमेड द्वारा इंगित एक्सेस अनुमतियों के लिए चेक करता है। एमोड का मूल्य बिटवाई समावेशी है या चेक अनुमतियों की जांच के लिए ( पढ़ने की अनुमति के लिए R_OK, अनुमति अनुमति के लिए W_OK और निष्पादन/खोज अनुमति के लिए X_OK) या अस्तित्व परीक्षण, F_OK। पथनाम पथ के सभी घटक एक्सेस अनुमतियों (F_OK सहित) के लिए चेक किए गए हैं।
यदि पथ नहीं मिला है या यदि कोई वांछित एक्सेस मोड नहीं दिया जाएगा, तो एक -1 मान वापस कर दिया जाएगा और वैश्विक पूर्णांक चर त्रुटि को त्रुटि इंगित करने के लिए सेट किया गया है। अन्यथा, एक 0 मान वापस कर दिया जाता है।
आप बहुत इस ऑब्जेक्टिव-सी के लिए की तरह कुछ का उपयोग कर सकता है:
typedef enum
{
ReadAccess = R_OK,
WriteAccess = W_OK,
ExecuteAccess = X_OK,
PathExists = F_OK
} AccessKind;
BOOL isPathAccessible(NSString *path, AccessKind mode)
{
return access([path UTF8String], mode) == 0;
}
मुझे उत्सुकता है कि आप परीक्षण करना चाहते हैं कि कोई स्थान पहुंच योग्य है या नहीं। आम तौर पर, आप * निर्दिष्ट * एंटाइटेलमेंट में कौन से स्थान पहुंच योग्य हैं, और फिर खुले/सहेजें बॉक्स के माध्यम से अन्य फ़ाइलों तक पहुंच प्राप्त करें। –