हम कैसे जांच सकते हैं कि फ़ाइल Win32 प्रोग्राम का उपयोग कर रही है या नहीं? मैं विंडोज मोबाइल ऐप के लिए काम कर रहा हूं।हम कैसे जांच सकते हैं कि फ़ाइल Win32 प्रोग्राम का उपयोग कर रही है या नहीं?
उत्तर
आप FindFirstFile
कॉल कर सकते हैं।
#include <windows.h>
#include <tchar.h>
#include <stdio.h>
int fileExists(TCHAR * file)
{
WIN32_FIND_DATA FindFileData;
HANDLE handle = FindFirstFile(file, &FindFileData) ;
int found = handle != INVALID_HANDLE_VALUE;
if(found)
{
//FindClose(&handle); this will crash
FindClose(handle);
}
return found;
}
void _tmain(int argc, TCHAR *argv[])
{
if(argc != 2)
{
_tprintf(TEXT("Usage: %s [target_file]\n"), argv[0]);
return;
}
_tprintf (TEXT("Looking for file is %s\n"), argv[1]);
if (fileExists(argv[1]))
{
_tprintf (TEXT("File %s exists\n"), argv[1]);
}
else
{
_tprintf (TEXT("File %s doesn't exist\n"), argv[1]);
}
}
आप समारोह GetFileAttributes
का उपयोग कर सकते। यदि फ़ाइल मौजूद नहीं है तो यह 0xFFFFFFFF
लौटाता है।
GetFileAttributes पर दिलचस्प इतिहास और क्यों यह रेमंड चेन द्वारा विंडोज कोड में पसंदीदा तरीका है: http://blogs.msdn.com/b/oldnewthing/archive/2007/10/23/5612082.aspx –
आपको ऑब्जेक्ट निर्देशिका होने की जांच करने की आवश्यकता है। –
असल में यह 'INVALID_FILE_ATTRIBUTES' लौटाता है यदि फ़ाइल मौजूद नहीं है। 64-बिट पर यह '0xFFFFFFFFFFFFFFFF' हो सकता है। –
उपयोग GetFileAttributes
जाँच करने के लिए है कि फाइल सिस्टम वस्तु मौजूद है और यह एक निर्देशिका नहीं है कि:
यहां एक नमूना मैं सिर्फ खटखटाया है।
BOOL FileExists(LPCTSTR szPath)
{
DWORD dwAttrib = GetFileAttributes(szPath);
return (dwAttrib != INVALID_FILE_ATTRIBUTES &&
!(dwAttrib & FILE_ATTRIBUTE_DIRECTORY));
}
+1 एक शॉर्ट कोड उदाहरण की वजह से कहा जाता है * नहीं है। कोड उदाहरण शुरू करने के लिए एक समय बचतकर्ता है। – nalply
मैं यह ध्यान रखना चाहूंगा कि आपका फ़ंक्शन बूल लौटाता है, न कि बूल। –
सी ++ हां के लिए, सी के लिए, यह एक बूल –
की प्रतिलिपि की गई फ़ाइल को खोलने का प्रयास कर सकते हैं। यदि यह असफल रहा, तो इसका अर्थ अधिकांश समय में मौजूद नहीं है।
मैं CreateFile -> CloseHandle के साथ जाऊंगा। सबसे आसान और सबसे सस्ता। – OSH
फाइलें मौजूद होने पर फ़ाइल खोलने में भी असफल हो सकता है लेकिन उपयोगकर्ता को फ़ाइल खोलने के लिए पर्याप्त विशेषाधिकार नहीं हैं। इन दिनों, यह एक ** बहुत ** आम स्थिति है। – JackLThornton
एक अन्य विकल्प: 'PathFileExists'।
लेकिन मैं शायद GetFileAttributes
साथ जाना चाहते हैं।
इसके अतिरिक्त 'PathFileExists' के लिए "Shlwapi" के उपयोग की आवश्यकता है।डीएल "(जो कुछ विंडोज़ संस्करणों पर अनुपलब्ध है) और इस अच्छे विकल्प – Bitterblue
+1 लेकिन यह आपको नहीं बताता कि फ़ाइल या निर्देशिका मौजूद है या नहीं। –
के लिए 'GetFileAttributes' से थोड़ा धीमा है। –
एक और अधिक सामान्य गैर खिड़कियों रास्ता:
के बारे में कैसेstatic bool FileExists(const char *path)
{
FILE *fp;
fpos_t fsize = 0;
if (!fopen_s(&fp, path, "r"))
{
fseek(fp, 0, SEEK_END);
fgetpos(fp, &fsize);
fclose(fp);
}
return fsize > 0;
}
यदि आप जा रहे हैं फॉपेन एट अल का उपयोग करें। आप '_access (0)' का उपयोग भी कर सकते हैं। –
बस:
#include <io.h>
if(_access(path, 0) == 0)
... // file exists
- 1. यह जांचने के लिए कि कोई प्रोग्राम .NET का उपयोग कर रहा है या नहीं?
- 2. हम सिम्युलेटर में पुश अधिसूचना की जांच कर सकते हैं?
- 3. हम सी ++ में बैच फ़ाइल का उपयोग कैसे कर सकते हैं?
- 4. क्या हम #ifdef __cplusplus के बिना सी फ़ाइल में बाहरी "सी" का उपयोग कर सकते हैं?
- 5. क्या हम हाइबरनेट में संघ का उपयोग कर सकते हैं?
- 6. जेएसपी में इसे शामिल/आयात करने से पहले आप कैसे जांच सकते हैं कि फ़ाइल मौजूद है या नहीं?
- 7. जब हम ClearAllPools विधि का उपयोग कर सकते हैं?
- 8. क्या हम संघ में सूचक का उपयोग कर सकते हैं?
- 9. मैं कैसे जांच कर सकते हैं कि सर्वर सोप अनुरोध
- 10. आप प्रोग्राम द्वारा जांच कर सकते हैं कि किसी साइट द्वारा iframe अवरुद्ध किया जाएगा या नहीं?
- 11. आप कैसे बता सकते हैं कि UpdatePanel पोस्टबैक में कोई विधि चल रही है या नहीं?
- 12. हम जावा में पॉइंटर्स का उपयोग क्यों नहीं कर सकते?
- 13. आप कैसे जांच सकते हैं कि आपकी ड्रैगगेबल वस्तु किस तत्व पर हो रही है? (JQuery)
- 14. आप कैसे जांच सकते हैं कि आपका दस्तावेज़ IFrame में खोला गया है या नहीं?
- 15. Win32 प्रोग्राम
- 16. क्या हम .c फ़ाइल शामिल नहीं कर सकते?
- 17. आप कैसे जांचते हैं कि एक प्रोग्राम प्रोग्राम में प्रोग्राम का उपयोग किया जाता है या नहीं?
- 18. मैं कैसे जांच सकता हूं कि एक फ़ाइल Emacs Lisp का उपयोग कर मौजूद है या नहीं?
- 19. प्रतिबिंब। हम इसका उपयोग करके क्या हासिल कर सकते हैं?
- 20. मैं कैसे जांच सकता हूं कि प्रतिबिंब का उपयोग कर कोई विधि स्थिर है या नहीं?
- 21. क्या हम संपूर्ण कॉन्फ़िगरेशन फ़ाइल एन्क्रिप्ट कर सकते हैं?
- 22. हम nstimer के बजाय क्या उपयोग कर सकते हैं?
- 23. हम प्रेरण से कैसे साबित कर सकते हैं कि बाइनरी खोज सही है?
- 24. कैसे जांचें कि फ़ाइल gzip संपीड़ित है या नहीं?
- 25. क्या हम केवल एक पैरामीटर अधिभारित कर सकते हैं कि पैरामीटर एक मान या संदर्भ है या नहीं?
- 26. हम एनसीआरएस आधारित प्रोग्राम के आउटपुट को लिनक्स में फाइल में कैसे डंप कर सकते हैं?
- 27. हम कैसे जांच करते हैं कि ब्राउज़र कितनी बार रिफ्लो कर रहा है?
- 28. PHP मैं कैसे जांच सकता हूं कि फ़ाइल एमपी 3 या छवि फ़ाइल है या नहीं?
- 29. आईफोन: क्या हम UIWebView का उपयोग कर पीडीएफ फ़ाइल खोल सकते हैं?
- 30. जांच कर रहा है कि फ़ोल्डर में फाइलें हैं
आप 'FindClose' को कॉल करना भूल गए। और आप शून्य कार्य से मूल्य वापस नहीं कर सकते हैं। –
@ डेविड हेफरन - सही - धन्यवाद। –
आधा सही। आपको FILE_ATTRIBUTE_DIRECTORY की जांच करनी होगी। –