Se devono rimanere in memoria hai due semplici strade :
1) leggi tutto il file una prima volta e conti il numero di righe presenti; con quel numero allochi dinamicamente il vettore (con la funzione malloc) e rileggi il file avendo allocato il numero corretto di elementi
2) leggi il file una sola volta usando la funzione realloc per allocare lo spazio per le nuove linee man mano che le leggi
Dato che non hai mai usato le funzioni in questione, ti suggerirei proprio di partire dalla seconda soluzione (anche se sarebbe migliorabile, ma ci penserà puntualmente l'omonimo utente a dirtelo ...).
In pratica devi studiare bene e adottare la funzione
realloc
http://www.cplusplus.com/reference/cstdlib/realloc