Hola , vereis tengo un problema a la hora de leer un fichero , lo que el programa tiene que hacer es leer un fichero en el que están los nombres de otros ficheros que tengo que son los que tengo que procesar para parsear y cosas así, he hecho lo siguiente:
#include <stdio.h>
#include <string.h>
void main(){
FILE *fichero;
char *cadena_puntero;
char cadena[100];
if((fichero=fopen("lista.txt","r"))==NULL){
printf("El fichero no existe\n");
return;
}
if((fichero=fopen("lista.txt","r"))!=NULL){
while ((fgets(cadena, 100, fichero)) != NULL)
{
cadena_puntero=cadena;
tratarFichero(cadena_puntero);
}//cierre deel while
y el metodo tratar fichero es este:
void tratarFichero(char *cadena_puntero){
FILE *fichero2;
if((fichero2=fopen(cadena_puntero,"w"))!=NULL){
printf("tratar fichero\n");
}else{
printf("El fichero no existe");
}
}
}
lo que me pasa es que me guarda los nombres en cadena_puntero bien pero luego en el tratar fichero en fopen(cadena_puntero,"w") no lo reconoce el nombre y va por el else , si en vez de poner cadena_puntero pongo directamente una de los nombres de los archivos como podría ser sustituir cadena_puntero por "archivo1.txt" entonces si lo reconoce el fichero ,tengo todos los ficheros en el directorio de trabajo pero no se porque no lo reconoce , si me podñeis ayudar , gracias.