Hey, für dieses Stück Code, kommuniziert die Person, die das System schrieb Daten zwischen Prozessen mit Textdateien. Ich habe ein Schleifen, die (für alle Absichten und Zwecke) wie folgt aussieht:Gibt es einen Grund, warum fopen() nach mehreren hundert Öffnen nicht funktioniert?
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);
}
für mehrere hundert Mal Dies funktioniert, aber aus irgendeinem Grund wird es geben NULL zurück, nach einer Weile, obwohl es das gleiche eröffnet Dateipfad schon mehrere hundert Mal! Ich habe doppelt überprüft, dass die Datei existiert und Daten enthält, wenn die fopen NULL zurückgibt, und habe versucht, eine Verzögerung/Wiederholung dort ohne Wirkung zu setzen.
Was können Sie denken, dass dies verursachen würde?
In den meisten Betriebssystemen ist die Anzahl der Dateien begrenzt, die gleichzeitig geöffnet werden können. Auf welchem Betriebssystem läuft das? –
http://www.word-detective.com/2009/01/16/intensive-purposees/ –
Windows 7. Jetzt testen, um zu sehen, ob die fclose() mein Problem löst. Ich hasse es, den Code anderer Leute zu reparieren ... – Paul