stocker un fichier texte dans une liste
Bonjour!
En fait j'ai un program a faire, qui consiste a ouvrir un fichier, et inserer les mots du texte un par un dans les noeuds d'une liste chainee. Je voulais creer une fonction readData() qui ouvre le fichier, et ensuite les fonctions classiques d'une lise (insertion...) voila un example du code:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
| #include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#define ARRAY_SIZE 15
typedef struct L {
char *str;
struct L *next;
}list;
char *readData( char *string) {
FILE *fichier = NULL;
int letter = 0;
int i = 0;
fichier = fopen("christmas_carol.txt", "r");
void rewind(FILE *fichier);
if (fichier != NULL) {
letter = fgetc(fichier);
while ( letter!= EOF && letter != ' ' && letter!= '\n') {
letter = fgetc(fichier);
string[i] = letter;
i++;
letter = fgetc(fichier);}
fclose(fichier);
} return string;
}
list *insertList(list *t, char *chaine) {
list *liste = calloc(1, sizeof(list));
liste->str = chaine;
liste->next = t;
return liste;
}
list *somelist() {
list *w = NULL;
char *s = "";
s = readData(s);
while (w != NULL) {
w = insertList(w, s);
}
return w;
}
int main() {
list *z = somelist();
while (z!= NULL) {
printf(z->str);
z = z->next;
}
return 0;
} |
en fait le program n'affiche rien. Je voudrais savoir comment est-ce que je peux faire pour prendre le fichier en parametre et l'inserer avec ma fonction insertList(). Je n'ai rien trouvee d'autre que de renvoyer un char avec les lettres copiees une part une, mais le program ne marche pas.
Si quelqu'un pouvais maidez..? merci :)