J'ai écrit le programme suivant pour lire ligne par ligne à partir d'un fichier et le stocker dans le tableau de mots. La sortie devrait être deux mots aléatoires du tableau. Mais étonnamment le tableau de mots contient seulement le dernier mot lu à plusieurs reprises. Toute aide sur ce qui a mal tourné?Lire à partir d'un fichier et le stocker dans le tableau
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
Ne jamais vous abandonner! Jamais ... oh, désolé. –
J'ai enlevé la balise Python –
J'ai remarqué:) ... –