Dev - C++ - Funcion fseek, problema

 
Vista:

Funcion fseek, problema

Publicado por Antoni (1 intervención) el 29/05/2005 12:46:19
Hola, tengo un problemilla con la funcion fseek,
for(i=cabecera.Ancho;i>0;i--){
printf("\n");

for(j=0;j<cabecera.Alto;j++){
printf("i %d",i);
fseek(fde,(cabecera.Ancho-i)*sizeof(char),SEEK_CUR);
fread(&c, cabecera.Ancho*sizeof(char), 1, fde);
fwrite(&c,sizeof(char), 1, fds);

if (c<0) l=c+256;
else l=c;
printf("O %d \n",l);
}


system("pause");

}
El problema es que una vez que finaliza el bucle interior, el valor de fseek deja de variar, ya no situa el puntero donde deberia, y permanece constante el valor que cogio en la ultima vuelta del bucle interior.
Alguien sabe a que es debidoi? Alguna solucion?

Gracias y Saludos
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:Funcion fseek, problema

Publicado por Ismael (100 intervenciones) el 30/05/2005 12:23:36
Tu instrucción:
fseek(fde,(cabecera.Ancho-i)*sizeof(char),SEEK_CUR);
coloca el puntero de lectura escritura en lapsición actual y retrocede. Se ejecuta y al retroceder de nuevo si i = 1, vuelve al origen del mismo dato.
Pueba con
fseek(fde,(cabecera.Ancho-i-1)*sizeof(char),SEEK_CUR);

Si no va, enviame, si quieres el código y le echo un vistazo

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