Ecire dans un offset c
zilot2
-
fiddy Messages postés 441 Date d'inscription Statut Contributeur Dernière intervention -
fiddy Messages postés 441 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
Configuration: Windows XP Firefox 3.5.2
A voir également:
- Ecire dans un offset c
- Format error occurred at offset ✓ - Forum Logiciels
- Cannot access offset of type string on string - Forum PHP
- Offset path illustrator français - Forum Illustrator
- Illustrator: Texte sur une courbe qui disparaît - Forum Illustrator
- Illustrator : remplir traits avec dégradés - Forum Illustrator
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 ?.