Bonjour
Voila je suis apres m' entrainer un peu, donc j ai fait un programme qui prend un fichier en argument , puis (dans la fonction ci-dessous) il recopie tout le fichier dans un buffer pour ensuite l afficher, donc pour etre sur de pas avoir de probleme, je realloue le buffer tous le a chaque fois , mais je voudrais savoir ce que vous en pensez, si vous voyez des erreurs ou si il y a mieux et plus simple enfin bref votre avis quoi, pour l instant ca marche tres bien mais j ai quand meme des doute. voila le fichier en question :
Merrci a vous.
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 #include <stdio.h> #include <stdlib.h> #include "header.h" #define BUF_SIZE 1024 char *lire_fichier(FILE* fd, char *buffer) { int taille = BUF_SIZE; buffer = malloc(sizeof(char) * BUF_SIZE); if(!buffer) { erreur("Allocation de la memoire echoue\n"); exit(EXIT_FAILURE); } int c, i = 0; while((c = fgetc(fd)) && (c != EOF)) { if(c == '\n') { ligne++; } if(caractere >= taille) { buffer = realloc(buffer, taille*2); taille *= 2; } buffer[i++] = c; caractere++; } buffer[i++] = '\0'; return buffer; }
Partager