Oye, para este fragmento de código, la persona que escribió el sistema comunica datos entre procesos usando archivos de texto. Tengo unos bucles que se ve (para todos los efectos) como este:¿Existe alguna razón por la cual fopen() no funcione después de varios cientos de aperturas?
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);
}
Esto funciona para varios cientos de veces, pero por alguna razón se devolverá NULL después de un tiempo, a pesar de que se ha abierto el mismo ruta de archivo varias cientos de veces ya! He comprobado dos veces que el archivo existe y tengo datos cuando el fopen devuelve NULL, y he intentado poner un retraso/reintento allí sin ningún efecto.
¿Qué se puede pensar en que podría causar esto?
La mayoría de los sistemas operativos tienen un límite en la cantidad de archivos que se pueden abrir a la vez. ¿En qué sistema operativo se está ejecutando? –
http://www.word-detective.com/2009/01/16/intensive-purposes/ –
Windows 7. Probar ahora para ver si el archivo fclose() resuelve mi problema. Odio arreglar el código de otras personas ... – Paul