Ecire dans un offset c
zilot2
-
fiddy Messages postés 11653 Date d'inscription Statut Contributeur Dernière intervention -
fiddy Messages postés 11653 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,pardonnez mon français
j'ai un fichier binaire et je veux ecire dans un offset precis
fwrite ecrit toujours a l fin du fichier y'a t il pas fonction qui permet d'ecrire a un offset voulu
je précise l'offset par exemple 0x40000 le pointeur de fichier se pointe sur cette offset et ecrire a partir de la
j'ai un fichier binaire et je veux ecire dans un offset precis
fwrite ecrit toujours a l fin du fichier y'a t il pas fonction qui permet d'ecrire a un offset voulu
je précise l'offset par exemple 0x40000 le pointeur de fichier se pointe sur cette offset et ecrire a partir de la
A voir également:
- Ecire dans un offset c
- Format error occurred at offset ✓ - Forum Logiciels
- Offset path illustrator français - Forum Illustrator
- Transpercer des groupes de formes vectorielles ILLUSTRATOR - Forum Illustrator
- ILLUSTRATOR se bloque une fois lancé - Forum Illustrator
- Problème chmin de variable path ✓ - Forum Windows
Tu peux lire: fseek
Fabrique un fichier "test.txt" et essaie l'exemple:
#include <stdio.h> #include <stdlib.h> int main() { FILE* ffich; ffich = fopen("test.txt", "r+"); fseek(ffich, 64L, SEEK_SET); fprintf(ffich, "<<< taïaut oh taïaut >>>"); return(0); }Bonne continuation.0x48 0x49 0x00 doc changer son binaire
Loupius a raison. Tu ouvres ton fichier en écriture, utilises fseek pour te mettre à l'offset voulu, et tu écris avec fwrite.
Cdlt
Si j'ai pris l'exemple avec un fichier 'texte', c'est simplement par facilité de construction et de vérification. Je n'ai fait aucune hypothèse sur le type de fichier.
La seulle difficulté est d'écrire le '0x00' qui ne fonctionnera pas avec 'fprintf' car c'est le caractère de fin de chaîne. Pour contourner cette petite difficulté, il suffit d'utiliser la fonction 'fputc', ce qui donnera:
fputc('0x48', ffich); fputc('0x49', ffich); fputc('0x00', ffich);Quoi de plus simple ?.