Utilisation de fichier binaire
Résolu/Fermé
gaetanse
Messages postés
22
Date d'inscription
samedi 3 novembre 2012
Statut
Membre
Dernière intervention
5 août 2020
-
10 janv. 2019 à 19:36
[Dal] Messages postés 6198 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 13 décembre 2024 - 14 janv. 2019 à 10:06
[Dal] Messages postés 6198 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 13 décembre 2024 - 14 janv. 2019 à 10:06
A voir également:
- Utilisation de fichier binaire
- Fichier rar - Guide
- Notice d'utilisation - Guide
- Utilisation chromecast - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
1 réponse
[Dal]
Messages postés
6198
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
13 décembre 2024
1 096
Modifié le 11 janv. 2019 à 10:40
Modifié le 11 janv. 2019 à 10:40
Salut gaetanse,
Après avoir ouvert ton fichier binaire (dans un mode permettant l'écriture dans ton cas), tu peux te déplacer dans un flux
Vois :
http://www.cplusplus.com/reference/cstdio/fseek/
Comme ce sont des
Ensuite, tu écrirais à cet endroit un seul
http://www.cplusplus.com/reference/cstdio/fwrite/
Bien sûr, cela serait bien de tester les codes d'erreur éventuels, etc.
Dal
Après avoir ouvert ton fichier binaire (dans un mode permettant l'écriture dans ton cas), tu peux te déplacer dans un flux
fichouvert avec la fonction
fseek()d'un certain nombre d'octets que tu indiques en 2ème paramètre (ce déplacement se fait par rapport au début du fichier, à la position courante ou à la fin du fichier en fonction de ce que tu mets en 3ème paramètre).
Vois :
http://www.cplusplus.com/reference/cstdio/fseek/
Comme ce sont des
intdans ton cas, chaque
intoccupe plus d'un octet et, par exemple, pour changer l'entier
3, qui serait en 6ème position à partir du début du fichier, tu te positionnerais avec un code du genre :
fseek(fich , sizeof int * (6 -1)), SEEK_SET);(non testé) ...
Ensuite, tu écrirais à cet endroit un seul
int, par exemple un
int i = 7;avec un code du type :
fwrite(&i, sizeof int, 1, fich);(non testé non plus) ...
http://www.cplusplus.com/reference/cstdio/fwrite/
Bien sûr, cela serait bien de tester les codes d'erreur éventuels, etc.
Dal
11 janv. 2019 à 14:58
11 janv. 2019 à 15:38
11 janv. 2019 à 21:34
je fais sa :
Mon fichier de map fait environ 4mo , et quand je fais sa il se retrouve a quelque ko,
donc sa doit surement recréer un fichier '-'
j'ai vérifier les positons sont correct , c'est peut être a cause du mode ouverture ? je ne sais pas
12 janv. 2019 à 12:10
12 janv. 2019 à 14:53