Ver Mensaje Individual
  #1 (permalink)  
Antiguo 01/03/2013, 12:39
freguesi99
 
Fecha de Ingreso: marzo-2013
Mensajes: 4
Antigüedad: 11 años, 10 meses
Puntos: 0
Problema con ficheros en C

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.