Perdon se envio mal el mail anterior, el codigo es el siguiente:

#include "stdlib.h"
#include "stdio.h"

int main(int argc, char** argv) {
    FILE* file;
    int statusCode;

    file = fopen("archivo.dat", "a+b");
    if (file) {
       statusCode = fseek(file, 100, SEEK_SET);

       printf("El status code de fseek devolvio %d", statusCode);
    }
    return EXIT_SUCCESS;
}

Esto efectivamente me imprime El status code de fseek devolvio 0



Ademas me cuesta mucho ver cuando estoy posicionado en la primera posicion
del archivo, imagino que comparando el resultado de ftell con 0 y si es
igual estoy en la primera posicion.

Ademas hay alguna funcion o forma de saber si estoy parado en el final del
archivo sin tener que leer datos?
Se que existe una funcion llamada feof() que toma un file descriptor o file
pointer y me dice si alcance al final el archivo pero se setea en cada
lectura o escritura, me gustaria saber si luego de hacer un fseek hay forma
de saber si alcance al final del archivo.

Gracias
Pablo

El día 20/03/08, Pablo Martín Viva <[EMAIL PROTECTED]> escribió:
>
> Buenas tardes, tenia algunas consultas sobre manejo de archivos en C y
> queria ver si alguno de ustedes puede aclararme un poco mas la situacion...
>
> Segun tengo entendido hay varias funciones para manejo de archivos en C y
> cada una con una funcionalidad diferente por ejemplo fopen, fclose, fread,
> fwrite, ftell, fseek...
> Lo primero que no me termina de quedar claro es segun la definicion de
> funciones como ftell y fseek ambas devuelven un valor distinto de cero en
> caso de no ser exitosas, pero cuando especificamente sucede esto????
>
> Tomemos un caso particular, abro un archivo nuevo y vacio en modo lectura
> / escritura, ejecuto un fseek para posicionarme en una posicion 100 bytes
> desde el comienzo del archivo por ejemplo, teniendo en cuenta que el archivo
> esta vacio sumo que deberia darme algun error y la funcion devolver un valor
> distinto de cero pero esto no es asi, segun el siguiente ejemplo que probe
> compilando y ejecutandose...
>
> #include "stdlib.h"
> #include "stdio.h"
>
> int main(int argc, char** argv) {
>
>
_______________________________________________
Lista de correo Programacion.
[email protected]
http://listas.fi.uba.ar/mailman/listinfo/programacion

Responder a