Attenzione: la fscanf() assieme a sua cugina scanf(), è
fortemente deprecata e non deve essere utilizzata.
La soluzione da te proposta, appropriatamente modificata per l'uso di sscanf(), costituisce in pratica una soluzione all'esercizio sopra assegnato per il terzo metodo di lettura.
Allo stesso modo, l'utilizzo della sola feof() come condizione di permanenza in un loop può riservare delle sorprese (tipicamente letture duplicate) poiché la sua modalità di funzionamento implica una lettura oltre la fine del file.
Infine "l'algoritmo di conteggio" al quale alludi è solo una dellle tante varianti basate su strtok() o su un parser ad hoc, e costituisce esattamente "il primo passo" di un parser a due step del quale accennavo sopra.
Last, but not least: si parla di C, non hanno attinenza metodi e classi del C++.
