Buenos días.
Alguien me sabría decir por qué me surge este problema?
Al leer el fichero, he comprobado con un printf que me leia bien las dos cabeceras del fichero, pero sale esto al ejecutarlo:
********NOMINAS DE LA EMPRESA******** (
Pongo aqui el codigo en c:
void leerDatos(){
FILE* Fichero;
char Cabecera[100],Cabecera2[100],Resto[100];
float Sueldo[100];
int i;
Fichero = fopen("ficheronominas.txt","r");
fscanf(Fichero,"%[^\n]",Cabecera);
fscanf(Fichero,"%[^\n]",Cabecera2);
printf("%s %s",Cabecera,Cabecera2);
fclose(Fichero);
}
int main(){
FILE* Fich;
char Cab,Cab2,Operario;
Fich = fopen("ficheronominas.txt","r");
leerDatos(Cab,Cab2);
fclose(Fich);
}
Y el fichero:
********NOMINAS DE LA EMPRESA********
Trabajador Otoño Invierno Primavera Verano
PedroLuque_ 3000 2980 2500 2700
RubenCalvo00 2000 1200 650 -600
El problema es que en la variable Cabecera2 aparece una especie de matriz al ejecutarlo
Ya lo resolvi :laugh:
No estas leyendo el intro. mete un fscanf(Fichero,"\n"); entre una lectura y la siguiente.
fscanf(Fichero,"%[^\n]",Cabecera);
fscanf(Fichero,"\n");
fscanf(Fichero,"%[^\n]",Cabecera2);
Por otro lado te sobran aperturas de archivo, si lo abres dentro de la funcion ¿Para que lo abres fuera si despues no lo usas?
Gracias por el consejo. Es cierto, abro más veces de la cuenta porque el compilador de Ubuntu me suele dar problemas :-\
¿que problemas?
La mayoria de veces " Violación de segmento 'core generado' ", y si pongo más fopen se soluciona,
aunque no sé si esa será el motivo