bonjour,
je suis debutante en langage c.et je dois ecrire un programme qui permet de stocker un fichier d'une taille variable dans un tableau dynamique.
mon idée est de
1. calculer la taille du fichier : le nombre de ses caractères par la fonction nbcaractere()
2.creer un tableau dynamique qui a comme taille le nombre des caractère de fichier :la fonction convert() va retouner ce tableau de caractère .mais comment recuperer ce tableau dans le main et l'afficher:qlq'un pourra m'aider svp je dois rendre cette exercice deamin merci.voici mon programme :
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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
int nbcaratere(void);
int main()
{
int i,n;
n=nbcaratere();
char c;
printf("la taille est de %d",n);
for(i=0;i<n;i++)
{
c=convert();
printf("%c",c);
}
return 0;
}
 
int nbcaratere(void)
{
FILE *f;
f = fopen("c:\\t.txt", "r");
if (f == NULL) /* ´equivalent `a << if (!f) >> */
{
printf("Erreur lors de l’ouverture du fichier!\n");
}
else
{
int fin;
fseek(f, 0, SEEK_END);
fin = ftell(f);
//printf("Le fichier a une longueur de %i\n", fin);
fseek(f, 0, SEEK_SET);
fclose(f);
return (fin);
}
 
}
 
 char convert(void)
{
FILE *f;
 
int i,n, c;
char *e;
n=nbcaratere();
e=(char*)malloc(n*sizeof(char));
 
f = fopen("c:\\t.txt", "r");
if (f == NULL) 
{
printf("Erreur lors de l’ouverture du fichier!\n");
}
else
{
do {
 
            c = fgetc (f);
           e[i]=c; 
 
printf("le caractère est %c",e[i]);
 
 
        } while (c != EOF);
 
}
fclose(f);
return *e;
free (e);
 
 }