salve io ho un file composto cosi

marca,modello,anno

io dovrei leggere questi dati fino alla virgola
e caricarli in una struttura.

girando su internet ho trovato questa soluzione

codice:
salone da_inserire;
       salone vuoto; // elemento vuoto
       salone *punt = p;
       char linea[500]; // stringa per l'acquisizione
       int index=0;


 FILE *fp; 
       fp = fopen("salone.txt","rt");
     
       
       while(fgets(linea, 500, fp) != NULL)
       { 
     
       index = strcspn(linea, ",");
         strncpy(daInserire.marca, linea, index);
         substring(daInserire.marca, daInserire.marca, 0, index-1);
         substring(linea, linea, index+1, strlen(linea));
         index = strcspn(linea, ",");
         strncpy(daInserire.modello, linea, index);
         substring(daInserire.modello, daInserire.modello, 0, index-1);
         substring(linea, linea, index+1, strlen(linea));
         index = strcspn(linea, ",");
         strncpy(daInserire.anno, linea, index);
         substring(daInserire.anno, daInserire.anno, 0, strlen(daInserire.anno)-2);
io qui ho inserito solo la parte dove carica i dati del file e li mette nella struttura.
vorrei chiedervi se ce un altra soluzione oltre a questa.
senza la funzione substring.

io vorrei usare la strtok pero non riesco a dividere la stringa ed assegnare quella sottostringa hai campi della struttura.

mi potreste dare una mano ??

grazie