Réponse acceptée !
salut
-------------------------------------------------------------------------------------------------------
"Ceci lit N bytes à partir de la position S dans le fichier et sauvegarde le résultat dans un variable binaire &binvar."
///////////////////////////////////////////////////////////
char *buffer;
FILE *fd;
buffer = malloc(N + 1);
fd = fopen("ton_fichier", "rb"); // rb signifie read binary
fseek(fd, S, SEEK_SET); // depalcement dans le fichier
fread(buffer, sizeof(char), N, fd); // lecture de N caractere (ce sont des caracteres d'1 octet)
fclose(fd); // fermeture du fichier
// ici buffer est la variable qui t'interesse, il ne faut pas oublier free(buffer) quand tu n'en a plus besoin
///////////////////////////////////////////////////////////
-------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------
"Ceci écrit N bytes du texte spécifié %var ou &binvar à un fichieren partant de la position S. Toute information à partir de cetteposition sera réécrite."
///////////////////////////////////////////////////////////
FILE *fd;
fd = fopen("ton_fichier", "wb"); // wb pour write binary
// (comme pour l'exemple du dessus, il est preferable de tester la variable fd)
fseek(fd, S, SEEK_SET);
fwrite(ta_variable_var_ou_binvar, sizeof(char), N, fd); // ecriture de N caractere de 1 octet
fclose(fd);
///////////////////////////////////////////////////////////
-------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------
"Ceci place le Nième byte de la variable &binvar à la valeur ascii spécifié"
///////////////////////////////////////////////////////////
binvar[N] = la_lettre; // la_lettre est une variable de type char, et binvar char* (ou char[])
// (si binvar est un short* (ou short[]) par exemple, alors la_lettre doit etre un short
///////////////////////////////////////////////////////////
exemple :
int k = 4;
binvar[k] = 'a';
-------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------
"Ceci cpoie M byte à partir de la position S dans la seconde &binvarà la première &binvar à la position N. Ceci peut également êtreutlisé pour copier des parties répétitives d'une &binvar à ellemême."
///////////////////////////////////////////////////////////
memcpy(binvar1 + N, binvar2 + S, M);
///////////////////////////////////////////////////////////
si binvar1 et binvar2 sont des tableaux de short par exemple, alors met M * sizeof(short) a la place de M tout court.
aussi tu peux t'en servir pour copier des caracteres d'une chaine dans elle meme, mais dans ce cas fait bien attention a l'ordre des variable, sinon tu risque d'avoir une redondance de donners non critique pour ton application, mais critique pour la validiter de tes donners.
-------------------------------------------------------------------------------------------------------
voila, j'espere que ca peut t'aider :)