| Ecriture dans un fichier binaire | |
|
|
Auteur | Message |
---|
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Ecriture dans un fichier binaire Lun 22 Mar 2010 - 15:04 | |
| Est-ce que je me trompe, ou bien est-ce qu'il est vraiment impossible d'écrire dans un fichier binaire existant ? Si j'écris - Code:
-
FILEBIN_OPEN_WRITE 1, "Monfichier" Ca détruit purement et simplement mon fichier pour un créer un vide, ce que je trouve extrêmement dommageable (je sais, après vérification c'est écrit dans la doc, création d'un nouveau fichier). A mon sens ça devrait être deux fonctions différentes: créer un nouveau fichier, ou bien ouvrir un fichier existant pour y écrire. L'appellation filebin_open_write me paraît trompeuse, et très dangereuse. Mais alors, comment peut-on modifier un fichier existant sans le détruire préalablement ? Il faut en créer un autre, y recopier entièrement l'origine octet par octet et intervenir ensuite ? ça me paraît aberrant... Et je ne peux pas faire un FILEBIN_WRITE sans avoir fait d'abord un FILEBIN_OPEN_WRITE. Et la méthode que j'évoque (recopier le fichier dans un nouveau octet par octet, modifier, supprimer le fichier d'origine, renommer le nouveau avec l'ancien), ça marche, mais c'est pénible et absolument inexploitable si le fichier est un peu gros. | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Ecriture dans un fichier binaire Lun 22 Mar 2010 - 20:58 | |
| Je suis d'accord avec toi; ce qui manque, c'est une instruction du type filebin_open_update qui permettrait de lire ET d'écrire à la position que l'on veut. | |
|
| |
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: Re: Ecriture dans un fichier binaire Mar 23 Mar 2010 - 15:31 | |
| reprenez moi si je dis une co.... mais ne peut on pas faire une "Dlist puis File_load puis item add et file_save pour finir | |
|
| |
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Ecriture dans un fichier binaire Mar 23 Mar 2010 - 17:04 | |
| Alors je te reprends Un petit exemple: J'ai un fichier image bmp, (fichier BINAIRE) dont je connais la structure. Je veux modifier la couleur d'un pixel de coordonnées x et y. Je détermine par calcul l'adresse dans le fichier des 3 octets bleu, vert, rouge correspondant à ce pixel. Comment fais-je pour modifier ces 3 octets au milieu du fichier ? Tu vas me dire: c'est idiot de vouloir modifier la couleur d'un pixel d'une image... mais la question n'est pas là, je veux pouvoir le faire, c'est tout. On parle bien de fichiers BINAIRES, c'est à dire de structure et de contenu quelconques, et non pas de fichiers texte en ascii avec des articles et des items. | |
|
| |
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: Re: Ecriture dans un fichier binaire Mar 23 Mar 2010 - 17:24 | |
| idiot , non ce n'est pas "idiot " mais juste un peu torturé de la neurone c comme moi et mes dates | |
|
| |
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: Re: Ecriture dans un fichier binaire Mar 23 Mar 2010 - 17:26 | |
| et je parle pas de Data auquel je ne pipe rien | |
|
| |
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Ecriture dans un fichier binaire Mar 23 Mar 2010 - 17:33 | |
| Pourquoi torturé ? Je veux pouvoir modifier des trucs dans un fichier image sans affichage à l'écran, c'est tout.
Autre exemple (puisque tu insistes, si, si !): J'ai un fichier exécutable qui a été créé en Turbo Pascal et qui plante avec Runtime error 200 etc. Je sais pourquoi: le logiciel est ancien, les machines modernes sont trop rapides et ça cause une division par zéro dans le programme. Je sais aussi quoi faire: rechercher dans l'exécutable les séquences 'F7 D0 F7 D2 B9 37' et les remplacer par 'F7 D0 33 D2 B9 37'. Comment je fais ? bien sûr il y a d'autres moyens, mais j'aimerais pouvoir le faire en Panoramic. | |
|
| |
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: Re: Ecriture dans un fichier binaire Mar 23 Mar 2010 - 17:43 | |
| là tu dépasses de loin mes modestes compétences peut être que d'ici une dizaine d'années je pourrai te répondre. | |
|
| |
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Ecriture dans un fichier binaire Mar 23 Mar 2010 - 17:49 | |
| Mais non, faut pas croire, c'est pas compliqué du tout à ce niveau-là. Il y a des choses bien plus complexes, ce que fait Jack par exemple. | |
|
| |
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: Re: Ecriture dans un fichier binaire Mar 23 Mar 2010 - 17:59 | |
| ouaips mais je ne suis pas dieu seulement un autodidacte au petit cerveau | |
|
| |
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Ecriture dans un fichier binaire Mar 23 Mar 2010 - 18:06 | |
| Autrefois (années 70/80) il y avait des revues qui traitaient vraiment des bases de la programmation, avec du binaire, de l'assembleur et du basic. C'était bien pratique pour se former. Maintenant ça n'intéresse plus grand monde, même des bouquins on n'en voit pas. Maintenant on attaque tout de suite sur des langages évolués et on perd un peu le contact avec les bases (c'est à dire le binaire). Peut-être en farfouillant sur internet... mais c'est moins motivant qu'autrefois.
C'est bien connu des vieux de toutes les époques: c'était mieux avant ! | |
|
| |
Jack Admin
Nombre de messages : 2394 Date d'inscription : 28/05/2007
| Sujet: Re: Ecriture dans un fichier binaire Mar 23 Mar 2010 - 18:55 | |
| - Citation :
- ce qui manque, c'est une instruction du type filebin_open_update qui permettrait de lire ET d'écrire à la position que l'on veut.
Tout à fait. Il va falloir que je fasse des commandes plus pratiques sur les fichiers binaires. Je dois reconnaitre qu'il est actuellement impossible avec les commandes existantes de modifier un octet ou une séquence dans un fichier binaire. Et c'est dommage. | |
|
| |
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Ecriture dans un fichier binaire Mar 23 Mar 2010 - 21:28 | |
| Merci Jack ! | |
|
| |
Contenu sponsorisé
| Sujet: Re: Ecriture dans un fichier binaire | |
| |
|
| |
| Ecriture dans un fichier binaire | |
|