अरे, कोड के इस टुकड़े के लिए, सिस्टम लिखने वाला व्यक्ति टेक्स्टफाइल का उपयोग करके प्रक्रियाओं के बीच डेटा संचारित करता है। मैं एक छोरों कि (सभी इरादों और उद्देश्यों के लिए) लग रहा है इस तरह है:क्या कोई कारण फॉपेन() कई सौ खुलने के बाद काम नहीं करेगा?
while (true)
{
//get the most up-to-date info from the other processes
pFile = fopen(paramsFileName, "r");
// Do a bunch of stuff with pFile
Sleep(100);
}
यह कई सौ बार के लिए काम करेंगे, लेकिन जो भी कारण के लिए यह कुछ समय के बाद शून्य वापस आ जाएगी, भले ही यह है कि एक ही खोल दिया है फाइल पथ कई सौ बार पहले से ही! मैंने दो बार जांच की है कि फाइल मौजूद है और इसमें डेटा है जब फॉपेन न्यूल लौटाता है, और इसमें कोई देरी/पुनः प्रयास करने की कोशिश नहीं की जाती है।
क्या आपको लगता है कि के बारे में सोच सकते हैं कि इस का कारण होता है?
अधिकांश ऑपरेटिंग सिस्टम की एक सीमा है कि एक समय में कितनी फाइलें खोली जा सकती हैं। यह किस ओएस पर चल रहा है? –
http://www.word-detective.com/2009/01/16/intensive-purposes/ –
विंडोज 7. यह देखने के लिए अब जांच कर रहा है कि fclose() मेरी समस्या हल करता है या नहीं। मुझे अन्य लोगों के कोड को ठीक करने से नफरत है ..... – Paul