Usando el archivo estándar de Win32 API de O/(CreateFile/ReadFile/etc), yo estoy tratando de esperar a que un archivo se convierta legible, o una excepción que se produzca en el archivo. Si Windows tenía ningún apoyo POSIX decente, tan sólo pudiera hacer:Win32 select/poll/eof/NADA?
select(file_count, files_waiting_for_read, NULL, files_waiting_for_excpt, NULL, NULL);
Y seleccione devolverá cuando no hay nada interesante en algunos de los archivos. Windows no admite select o poll. Multa. Pensé que podría tomar el archivo y hacer algo como:
while(eof(file_descriptor))
{
Sleep(100);
}
El ciclo anterior saldría cuando haya más datos disponibles para leer. ¡Pero no, Windows tampoco tiene un equivalente de eof()! Podría llamar a ReadFile() en el archivo y determinar si se encuentra al mismo tiempo. Pero, entonces, tendría que manejar la lectura en ese momento. Espero poder descifrar que un archivo es legible, sin leerlo realmente.
¿Cuáles son mis opciones?
Wow odio de Windows. Todo lo que debería ser simple no lo es. ¿Realmente no existe el tipo de función 'GetEndOfFile'? Veo que hay una SetEndOfFile :( – Andrew
@ Andrew, Windows no es compatible con POSIX – CMircea
diferente no significa inferior;., Obviamente, con un modelo algunas cosas pueden ser más simple y otra más complicada Sólo hay que pensar lo mismo de una. perspectiva diferente. –