@shodan: la funzione che mi garantisca la maggior compatibilità e velocità.

@MItaly: ti ringrazio prima di tutto per la risposta velocissima, in secondo luogo, anche per quanto riguarda la compatiblità read è la migliore?! In quanto non devo avere alcun vincolo di s.o.
-----------------------------------------------

puoi misurare facilmente qual è la più veloce scrivendo un semplice benchmark
non ne sono ancora capace.
-----------------------------------------------

la funzione read funziona in questo modo:
read ( char* s, streamsize n )

io quindi gli passo un array di caratteri e una dimesione; tuttavia ho qualche perplessità sulle dimesioni da passare alla funzione, di fatto essa legge fino a EOF(end of file) quindi tutto il file, in questo caso io non potrei fare in modo che la dimesione(streamsize n) sia autodefinita??; in quanto dichiarare un array di mettiamo 300 caratteri e poi magari usarne solo 100(è un ipotesi, in quanto i caratteri presenti nel file sono variabili) è uno spreco di memoria.
-----------------------------------------------
Per quanto riguarda uno stile corretto, è sbagliato utilizzare tutte queste funzioni (get,getline,read) nello stesso programma? Nel senso, magari 2 moduli usano getline e uno read ecc.. Tieni conto che ho inziato a programmare da solo 3 mesi, e che non abbiamo ancora fatto i puntatori..