Bonjour à tous,
j'ai codé plusieurs fonctions permettant de lire un fichier ligne par ligne et d'en extraire des informations pour les utiliser après. Le problème est que lorsque je compile, j'ai une erreur "incompatible in assignment" avec ma fonction "get_line" que je ne comprends vraiment pas.
Voici les prototypes de mes fonctions et mon code :
Une autre petite question : il n'y aurait pas un autre moyen que de mettre ma variable "buf" en globale pour récupérer la ligne dans ma fonction "get_line" ?
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 char* get_line(FILE *file); void line_analysis(char *line); void read_file(char* text_file) { FILE *file; char line[SIZE_MAX]; file = fopen(text_file,"r"); if (file == NULL) { perror("Open failed "); exit(2); } while(fgets(buf,SIZE_MAX,file) != NULL) { line = get_line(file); /* L'erreur est ici sur ma variable "line" */ line_analysis(line); } fclose(file); }
Parce que si je déclare ma variable "buf" uniquement dans ma fonction "get_line" et que je la retourne pour l'utiliser ensuite dans mon "line_analysis", ça me pète l'erreur "Cette fonction retourne l'adresse d'une variable locale".
Merci d'avance pour vos réponse !
Partager