No puedo cargar dos ficheros

Si eres principiante y tienes alguna consulta entra en este foro.
Responder
Mensaje
Autor
FranCano
Mensajes: 2
Registrado: 17/12/2019 3:23 am

No puedo cargar dos ficheros

#1 Mensaje por FranCano » 17/12/2019 3:35 am

Buenas a todos! Soy nuevo en esto de la programacion en lenguaje C y estoy intentando diseñar un programa, pero una de las partes mas tempranas de este, el cargar dos ficheros, no funciona. Siempre me sale el error "expected expresssion before '&' token" y "stray' \' in program". He intentado cambiarlo de mil formas pero ninguna me sirve. Podría alguien echarme una mano?? Gracias por adelantado :) (pd: uso CodeBlocks17.12, concretamente el compilador GNU GCC)

Código: Seleccionar todo

//FUNCION 1.

int cargarFichero(char pacientes[PAC][INF][MAXCAR], float bioquimicas [PAC][PRUEBA]){
    int i =0;
    int j =0;
    char c;    
    float n;     
    FILE *f1, *f2;   

    //ABRIR FICHEROS
    f1= fopen("pacientes.csv","r");
    f2= fopen("bioquimicas.csv","r");

    if (f1==NULL || f2==NULL){
        printf("ERROR DE APERTURA DE LOS FICHEROS");
        return 0;
    }else{
        fscanf(f1, "%c", %[^;\n]%c);  //Aqui esta el problema
        while(feof(f1)==0){   
            for(i=0; i<PAC; i++){
                for(j=0; j<INF; j++){     
                    fscanf(f1, "%s", pacientes[i][j]);   
                }
            }
        }
        fscanf(f2, "%f", &n);
        while(feof(f2)==0){
            for(i=0; i<PAC; i++){
                for(j=0; j<PRUEBA; j++){
                    fscanf(f2, "%f", &bioquimicas[i][j]);
                }
            }
        }
    printf("Ficheros cargados. \n");
    }
    fclose(f1);
    fclose(f2);
    return 1;
}

mollok
Mensajes: 526
Registrado: 30/01/2018 9:47 am
Ubicación: Mallorca, España

Re: No puedo cargar dos ficheros

#2 Mensaje por mollok » 17/12/2019 11:51 pm

Esa línea que has marcado es errónea, estás poniendo selectores de tipos de dato en dónde deberían ir las variables. De todas formas te sería mejor conseguir la línea completa y trocearla con strtok.
while(is_alive(yourself)) {
    make_true(yourself, yourdreams);
}

FranCano
Mensajes: 2
Registrado: 17/12/2019 3:23 am

Re: No puedo cargar dos ficheros

#3 Mensaje por FranCano » 18/12/2019 2:41 am

Muchas gracias por la respuesta! No había escuchado nunca sobre esta función así que he leído un poco sobre el tema. Ahora al menos compila, aunque los ficheros no se abren. Si pudieras ayudarme de nuevo, te lo agradecería mucho :D

Código: Seleccionar todo

 //ABRIR FICHEROS
    f1= fopen("pacientes.csv","r");
    f2= fopen("bioquimicas.csv","r");

    if (f1==NULL || f2==NULL){
        printf("ERROR DE APERTURA DE FICHERO");
        return 0;
    }else{
        token = strtok(c, ";");
        if (token == NULL){
            printf("No hay tokens\n");
            return -1;
        }

    atoi(token); //sirve para convertir el token a numeros enteros

        fscanf(f1, "%c", &c);
        while(feof(f1)==0){//Mientras que no hayamos llegado al final del fichero no hara tal cosa
            for(i=0; i<PAC; i++){
                for(j=0; j<INF; j++){//Copiamos los datos del fichero
                    fscanf(f1, "%s", pacientes[i][j]);//Guardamos los datos del fichero en nuestra matriz
                }
            }
        }
        fscanf(f2, "%f", &n);
        while(feof(f2)==0){
            for(i=0; i<PAC; i++){
                for(j=0; j<PRUEBA; j++){
                    fscanf(f2, "%f", &bioquimicas[i][j]);//Guardamos los datos del fichero en nuestra matriz
                }
            }
        }
    printf("Ficheros cargados. \n");
    }
    fclose(f1);
    fclose(f2);
    return 1;
}

lukemonaco
Mensajes: 1
Registrado: 02/01/2020 6:47 pm

Re: No puedo cargar dos ficheros

#4 Mensaje por lukemonaco » 02/01/2020 6:50 pm

Thanks a lot for the reply!

Responder

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 6 invitados