Cambiando un byte en un archivo en C

Tengo un flujo de archivos abierto y listo.

¿Cómo accedo y cambio un solo byte en la transmisión de manera que el cambio se refleje en el archivo?

¿Alguna sugerencia?

#include "stdio.h" int main(void) { FILE* f = fopen("so-data.dat", "r+b"); // Error checking omitted fseek(f, 5, SEEK_SET); fwrite("x", 1, 1, f); fclose(f); } 
 FILE* fileHandle = fopen("filename", "r+b"); // r+ if you need char mode fseek(fileHandle, position_of_byte, SEEK_SET); fwrite("R" /* the value to replace with */, 1, 1, fileHandle); 
 #include  /* standard header, use the angle brackets */ int main(void) { char somechar = 'x'; /* one-byte data */ FILE* fp = fopen("so-data.txt", "r+"); if (fp) { fseek(fp, 5, SEEK_SET); fwrite(&somechar, 1, 1, fp); fclose(fp); } return 0; /* if you are on non-C99 systems */ }