C/Visual C - Lectura de ficheros en Tiempo Real

 
Vista:

Lectura de ficheros en Tiempo Real

Publicado por morgul (11 intervenciones) el 13/06/2006 13:08:30
Como se podria leer ficheros en tiempo real,lo intento con esto pero no va,se queda siempre con la ultima cadena:
while(1){
fseek(flFichero,pos,SEEK_SET);
while(!feof(flFichero))
{
fscanf(flFichero,"%s",str);
printf("Cadena %s\n",str);
}
pos=ftell(flFichero);
}

pos la inicializo a 0,pero a partir de entonces en cada vuelta del bucle while solo me lee una cadena y es una parte de la ultima cadena que esta en el fichero.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Lectura de ficheros en Tiempo Real

Publicado por fernando.gomez (1603 intervenciones) el 13/06/2006 17:07:30
No entiendo tu código, ¿para qué empleas fseek si la vas a poner en 0? ¿Para qué while(1)? Eso te causa un bucle infinito, porque no hay algún break...

while(!feof(flFichero))
{
fgets(str, 50, flFichero);
printf(str);
}

El fragmentillo anterior va leyendo de 50 caracteres en 50 caracteres, o menos si encuentra algún \n o EOF.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Lectura de ficheros en Tiempo Real

Publicado por morgul (11 intervenciones) el 14/06/2006 00:50:51
La funcion del codigo es leer de un fichero siempre,d ahi el bucle infinito, de tal manera que si despues se escribe algo en el fichero txt por otro editor solo imprima en pantalla lo ultimo escrito,para eso pongo pos. Pos solo lo inicializo a cero cuando llego a feof intento ponerlo con la ultima posicion. No se si me explico bien.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Lectura de ficheros en Tiempo Real

Publicado por fernando.gomez (1603 intervenciones) el 14/06/2006 01:18:38
Ah! Como diría Jimmy Paige: "I can see clearly now the rain is gone" jaja. Ya capizco.

Sin embargo, hay un problema de diseño. Un archivo no puede estar abierto para escritura en varios lugares. Es decir, si tu abres tu archivo con fopen y luego lo abres con notepad -por ejemplo, para agregar más datos- te va a mandar error de que el archivo está en uso. En ese tenor, tendrías que cambiar tu algoritmo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Lectura de ficheros en Tiempo Real

Publicado por morgul (11 intervenciones) el 14/06/2006 10:16:16
Pues yo lo e probado y lo puedo tener abierto con el programa y a la vez abrirlo y escribir en el con el notepad,igual es xq lo abro en modo lectura no se. Pero bueno aunque no se pudiese mi principal problema es guardar la posicion donde lei la ultima vez y si no se a escrito nada nuevo no leer el fichero.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Lectura de ficheros en Tiempo Real

Publicado por Juan (68 intervenciones) el 14/06/2006 14:37:15
Prueba a guardar los 2 simultaneamente y ve lo que pasa? Eso es imposible porque te genera problemas de inconsistencia. Como el computador sabe cual fue el ultimo cambio que fue correcto?
Haz la prueba, pon en tu codigo una opcion que te cierre el archivo y guarda los cambios en tu notepad casi a la vez y veraz que es lo que pasa
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar