perdona por insistir tanto pero lo que yo pongo no es el nombre del fichero, lo que quiero poner es una variable char en la cual tengo guardado el nombre del fichero...
.
He probado pero no funciona...hay alguna otra manera o quizás lo pongo mal...
Tal como lo tienes en lugar de NOM_ARCHIVO puedes poner ristra y debe funcionar bien, si no el error estará en otro lado.
¿Por qué no cuelgas parte del código para analizarlo?.
Te pongo un ejemplo con ese uso de la variable como nombre del fichero que funciona sin problemas:#include <stdio.h>
#include <stdlib.h>
#define NUM_ELEM 3
int main ( )
{
char NOM_ARCHIVO[]="ecuaciones.txt";
int i=0;
FILE *entrada;
float a[NUM_ELEM],b[NUM_ELEM],c[NUM_ELEM],A,B,C;
if ((entrada = fopen(NOM_ARCHIVO, "w")) == NULL){
perror(NOM_ARCHIVO);
return EXIT_FAILURE;
}
fprintf(entrada, "5x+2y=1\n");
fprintf(entrada, "5x+3y=1\n");
fprintf(entrada, "3x+8y=2");
fclose ( entrada );
if ((entrada = fopen(NOM_ARCHIVO, "r")) == NULL){
perror(NOM_ARCHIVO);
return EXIT_FAILURE;
}
while (fscanf (entrada, "%gx+%gy=%g", &A, &B, &C)==NUM_ELEM)
{
printf ("a= %g,b=%g,c=%g\n",A,B,C);
a[i]=A;
b[i]=B;
c[i]=C;
printf ("a[%d]= %g,b[%d]=%g,c[%d]=%g\n",i,a[i],i,b[i],i,c[i]);
i++;
}
fclose(entrada);
return 0;
}
Saluditos .. otra vez! ....