Manejo de ficheros: Me da el error al abrir el fichero, por que?

Iniciado por Firos, 10 Abril 2011, 18:38 PM

0 Miembros y 1 Visitante están viendo este tema.

Firos

Buenas.

He estado intentando abrir archivos en C pero no lo consigo. Lo hago con los ficheros en el mismo directorio que el programa. Creo que debería funcionar pero no :\ nunca llega a abrirlo.

No me da error ni nada, simplemente cuando llega la hora de abrir el fichero lo da como NULL y me devuelve el error.

A ver si alguien me puede ayudar y me dice por qué. Gracias de antemano.

Un saludo.

#include <stdio.h>

int main(int argc, char **argv)
{
FILE *fichero;
int letra;

if((fichero=fopen("origen.txt","r"))==NULL){
printf("No se puede abrir el fichero\n");
return -1;
}

printf("Contenido del fichero:\n");
letra=getc(fichero);

while(feof(fichero)==0){
printf("%d",letra);
letra=getc(fichero);
}
if(fclose(fichero)!=0){
printf("Error al cerrar el fichero\n");
}
}
El final del camino no está determinado, lo determinamos nosotros mismos paso a paso, día a día, y se puede cambiar.

Leber

Una manera de ver que ocurre sería comprobar el valor de la variable errno, y printearla con strerror(). Así veras que esta pasando.

Saludos!
"Solo los tontos carecen de preucupaciones." Johann Wolfgang Goethe

Firos

Buenas.

Ya he conseguido saber qué pasaba. Resulta que al compilarlo con el IDE los archivos los lee desde la carpeta Debug que se crea junto con el proyecto.

Si hubiese probado de la misma forma solo que a la hora de abrir el archivo le ponemos en el modo "ar", crear si no existe y leer, se habría creado el archivo y habría funcionado despues sin problemas.


Asi que nada, simplemente era eso, el archivo debía estar en "Debug" y no en la carpeta raiz del proyecto.


Un saludo.
El final del camino no está determinado, lo determinamos nosotros mismos paso a paso, día a día, y se puede cambiar.