alguien me podria decir el concepto , para que sirve, y que hace
esta funcion que es sobre archivos binarios?
fseek(nombrearchivo, i * sizeof(int) ,SEEK_SET);
| |||
duda con funcion fseek en c alguien me podria decir el concepto , para que sirve, y que hace esta funcion que es sobre archivos binarios? fseek(nombrearchivo, i * sizeof(int) ,SEEK_SET); |
| |||
Respuesta: duda con funcion fseek en c Corre el puntero de lectura del archivo indicado x bytes desde una posicion determinada. En tu codigo el archivo es 'nombrearchivo', y avanza 'i*sizeof(int)' bytes a partir del principio del archivo (SEEK_SET). Retorna 0 si la operacion se completó con exito y !=0 si hubo algun error (en ese caso puedes recuperar el codigo de error con ferror). Hay otras posiciones de inicio predefinidas: SEEK_CUR (que es la posicion inicial), y SEEK_END que es el final del archivo. P.ej. si quieres situarte al final del archivo saltas 0 bytes desde el final Saludos vosk |
| |||
Respuesta: duda con funcion fseek en c No, SEEK_xxx es la posicion desde la que comienza el avance, pero el avance puede ser negativo. Si avanzas -1 desde SEEK_END moveras el puntero a la penultima posicion, si avanzas 1 desde SEEK_END moveras el puntero mas allá del EOF pero no te marcará ningun error. El SEEK_END podras verlo muchas veces como parte de una funcion que determina el tamaño de un archivo a partir de un manejador:
Código C:
Ver original Saludos vosk |
| |||
Respuesta: duda con funcion fseek en c Por cierto, acabo de revisar la referencia de fseek y esto es lo que pone acerca del flag de posicion SEEK_END:
Código C:
Ver original Con lo que entiendo que es mejor no usar este flag, no se si esto del estandar es algo nuevo pero nunca me había fijado en este detalle. Saludos vosk Última edición por vosk; 09/10/2013 a las 14:53 |
Etiquetas: |