c++ - File open issue, after file deleted. fopen status is failing in VC++ -


फ़ॉपन उदाहरण

  #include & lt; stdio.h & gt; Int _tmain (int argc, _TCHAR * argv []) {FILE * pFile; (इंट आई = 0; आई & lt; 1000000; i ++) के लिए {bool ret = remove ("C: \\ abc.txt"); PFile = fopen ("C: \\ abc.txt", "w"); यदि (pFile! = NULL) {fputs ("fopen example", pFile); Fclose (pFile); } अन्य {printf ("% d fopen () विफल रहता है \ n", गिनती); }} वापसी 0; }  

यहां, निकालने के बाद कहा जाता है, pFile = fopen ("C: \ abc.txt", "w"); जिसे कहा जाता है,

कभी-कभी भी C: \ abc.txt फ़ाइल मौजूद नहीं है, निकालने के बाद कहा जाता है, लेकिन फ़ॉपन पीफ़ाइल पॉइंटर शून्य है।

यह कुछ समय के लिए हमेशा पुन: नहीं होता है इस उदाहरण में यह मुद्दा 50/60 बार पुन: उत्पन्न किया जाता है।

कृपया कुछ समाधान का सुझाव दें।

यदि आपने पहले से ही स्थापित किया है, तो यह है कि अंतर्निहित फाइल सिस्टम में दौड़ की स्थिति की समस्या है, इसे ठीक करने का सही तरीका है (जैसा कि BLUEPIXY द्वारा सुझाया गया है) ताकि बस को हटा दें कॉल निकाल दें: < / P>

  pFile = fopen ("C: \\ abc.txt", "w");  

फ़ाइल बना देगा यदि वह मौजूद नहीं है और इसे 0 आकार में छोटा कर देता है यदि यह मौजूद है, तो वास्तव में आपको क्या चाहिए।


Comments