Bonjour,
je voudrais copier les octet d'un fichier binaire dans un tableau d'octet, comment puis je faire ??
Bonjour,
je voudrais copier les octet d'un fichier binaire dans un tableau d'octet, comment puis je faire ??
Ouverture en mode binaire puis fread().
peux tu détailler un peu plus ta réponse stp car je suis un pur débutant.
Un petit exemple serait le bien venu car je vois pas comment initialiser mon tableau ( je connais pas la taille du fichier ), et quelle boucle faire pour replir le tableau octet par octet.
On ne peut pas lire un fichier binaire 'a l'aveugle'. Il faut connaitre le nombre et le type des variables qu'il contient. Par exemple, si le fichier file.bin contient six reels double precision et qu'il a ete cree par la meme machine, on utilise:
Si tu souhaites lire le fichier octet par octet, il faut utiliser une variable de type char ou unsigned char - mais il y aura surement des conversions a faire par la suite.
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 FILE *f; double values[6]; f = fopen("file.bin", "rb"); if (f != NULL) { int n = fread(values, sizeof values, 1, f); fclose(f); if (n != 1) { fprintf(stderr, "Could not read file.bin.\n"); } } else { fprintf(stderr, "Could not open file.bin.\n"); }
C'est surtout une question d'algorithme :Envoyé par Xhéras
- ouvrir le fichier en mide binaire
- mesurer sa taille
- allouer un bloc de cette taile
- lire le ficher et le stocker dans ce bloc
- fermer le fichier
- traitements sur le bloc...
- libérer le bloc alloué.
Tu as besoin de (dans l'ordre d'apparition à l'écran)
fopen()
fseek()
ftell()
malloc()
rewind()
fread()
fclose()
...
free()
La doc est dans ton manuel de C ou dans ton cours ou ici (par exemple ...)
Je vais regarder tout ca et faire de mon mieux.
c'est bon j'ai réussi à créer mon tableau.
Merci de l'aide.
Partager