Salve,

stavo provando a scrivere un file in C per leggere un file di testo con nomi e cognomi.
Tali nomi e cognomi (uno per riga) li vorrei poi archiviare in un vettore tale che ad ogni posizione corrisponda un nome e cognome. Poi, ma questo non è il problema, dovrei estrarre a caso dei numeri e quindi le persone che corrispondono a quel numero.

Il problema credo che sia legato ai puntatori (sono nuovo del mestiere e quindi abbiate compassione).
In pratica ho scritto il codice che allego. In pratica credo di aver creato un vettore di puntatori che puntano tutti all'ultimo valore letto, mentre il puntatore nome[0] vorrei che puntasse al valore letto nella prima riga,
nome[1] a quello della seconda e così via.

Di seguito il codice... grazie in anticipo per l'eventuale attenzione.

#include <stdio.h>
#include <string.h>

int main() {
char c[80];
FILE *file;
char *nomi[30];

int i, j;

file = fopen("input.dati", "r");
j=0;
if(file==NULL) {
printf("Error: can't open file.\n");
return 1;
}
else {
printf("File opened successfully. Contents:\n\n");

while(fgets(c, 80, file)!=NULL) {
printf("String: %s", c);
nomi[j]=c;
j=j+1;
}

printf("\n\nNow closing file...\n");
fclose(file);


}


printf("%s", nomi[0]);
printf("%s", nomi[1]);
printf("%s", nomi[2]);
return 0;
}