Ho scritto il seguente programma per leggere riga per riga da un file e memorizzarlo nell'array delle parole. L'output dovrebbe essere composto da due parole casuali dall'array. Ma sorprendentemente la matrice di parole contiene solo l'ultima parola letta ripetutamente. Qualche aiuto su cosa è andato storto?Lettura da un file e memorizzazione nell'array
int main(){
int i = 0;
char line_buffer[BUFSIZ];
char* words[20];
FILE *fp = fopen("input.txt", "r");
while (fgets(line_buffer, sizeof(line_buffer), fp)) {
//printf("%s", line_buffer);
words[i] = line_buffer;
i = i + 1;
}
printf("%d", i);
int j = rand()%8;
int k = (j+1)%8;
printf("%s %s", words[j], words[k]);
fclose(fp);
return 0;
}
input.txt
nematode knowledge
empty bottle
nevertheless
claustrophobia
metamorphosis
acknowledgement
impossibility
never gave up
Non ti arrenderò mai! Mai ... oh, scusa. –
Ho rimosso il tag Python –
Ho notato:) ... –