Quote Originariamente inviata da oregon Visualizza il messaggio
Se deve contenere un carattere allora deve essere un char e non un puntatore. Quindi

char C;

e non

char *C;

Quindi non devi usare %s ma %c
Ciao, facendo come dici tu funziona, mi ero anche dimenticato dell' &:
codice:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

typedef struct{
int hh, mm, ss;
char C;
int user;
}accesso;



void carica_dati(char filename[]){
FILE *f;
char buffer[128];
f = fopen(filename, "r");
if(f==NULL)    
    {
    perror("Errore apertura file");
    exit(1);    
     }
else
    {
    int z = 0;
    while((fgets(buffer, sizeof(buffer), f))!=NULL)
        z++;     
    accesso db[z];
    int d;
    for(d=0; d<z; d++) {
    sscanf(buffer, "%d:%d:%d %c %d", &db[d].hh, &db[d].mm, &db[d].ss, &db[d].C, &db[d].user); 
/*    printf("%d:%d:%d %c %d\n", db[d].hh, db[d].mm, db[d].ss, db[d].C, db[d].user);   */
               }    
    fclose(f);
     }
} 




int main(int argc, char *argv[])        
{
    carica_dati(argv[1]);    
    
    
    
    
    
return 0;
}
Quindi ora ho la mia bella struttura caricata con i dati e dovrei cercare di suddividere gli ingressi con le uscite per poi passare alla richiesta c)
Ho paura che mi farò risentire molto presto