Bonjour,

Voila, j'ai un fichier binaire dans lequel je dois juste modifier un octet. Et j'ai fais des recherches et si j'ai bien compris, il est possible de modifier un caractère d'un fichier seulement si la taille du fichier n'est pas modifiée.. J'aimerais eviter de réécrire tout le fichier (environ 660Ko) juste pour 1 octet.
J'ai essayé avec fwrite() et fputc(), mais en vain, ça ne fonctionne pas, j'obtient un nouveau fichier

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
char c[2];
if((file=fopen(strcat(path,nomFichierFIC),"wb+")) == NULL) return 1;
 
c[0] = '\0';
 
fseek(file,*adEnreg,SEEK_SET);     //*adEnreg contient par exemple 1024
 
fwrite(c,1,1,file);
// ou fputc(atoi(c),file);
 
fclose(file);
Ce fichier fait 1024 octets, et chaque octet vaut "0x00"...
Est-ce possible en C de modifier un seul octet...?