
Originariamente inviata da
MItaly
1. Le fprintf si possono condensare in una sola:
codice:
fprintf(f, "%s\t%d\t%d\n", v[i].club, v[i].np, v[i].quote);
2. Lo stesso vale per le fscanf, e in più così come sono sono tutte sbagliate, dato che usi (a) %s anche quando devi leggere interi e (b) ci devi passare un puntatore alle locazioni in cui leggere.
In ogni caso, entrambe le questioni ti sarebbero più chiare leggendo i primi capitoli di qualunque libro di C, dove l'uso di scanf/printf è spiegato in maniera più completa.
Per prima cosa ti rigranzio molto per la tua risposta.
Detto questo si avevo notato il mio errore dovuto al copia e incolla ma cmq non funziona scrivendo il codice in questo modo:
codice:
while((fscanf(f, "%s", ele->v[ele->dim_log].club) && fscanf(f, "%d", ele->v[ele->dim_log].np) && fscanf(f, "%d", ele->v[ele->dim_log].quote))!= EOF)
ele->dim_log++;
Inoltre modificando in questo modo il codice:
codice:
while((fscanf(f, "%s,%d,%d", ele->v[ele->dim_log].club, ele->v[ele->dim_log].np, ele->v[ele->dim_log].quote))!= EOF)
ele->dim_log++;
ma mi da questo output inserendo 2 struct:
codice:
CLUB PARTECIPANTI QUOTE
jhy 4 105
fdss 35 1190
fdss 0 0
35 0 0
1190 0 0
jhy 0 0
4 0 0
105 0 0
mentre quello desiderato sarebbe:
codice:
CLUB PARTECIPANTI QUOTE
jhy 4 105
fdss 35 1190
Da quel che so, la fscanf non dovrebbe puntare spostarsi automaticamente all'ultimo campo inserito?
Per il puntatore invece, non glielo passo già con f? 
Inoltre se posso chiederti una chicca, come posso mettere l'equivalente della system pause su linux?
Grazie di nuovo infinitamente.