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
Ce fichier fait 1024 octets, et chaque octet vaut "0x00"...
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);
Est-ce possible en C de modifier un seul octet...?
Partager