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 : Sélectionner tout - Visualiser dans une fenêtre à part
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