extraire une partie d'un fichier - C - Programmation
Marsh Posté le 06-11-2006 à 18:24:32
si fseek marche bien ici : soit myFile ton fichier (FILE*) et K la taille de ton en-tête :
fseek( myFile, K, SEEK_SET);
et voilà !
Marsh Posté le 06-11-2006 à 18:59:49
Pourquoi tu dis que fseek ne marche pas ? Sinon dd fait ca tres bien (sous linux/unix), pas besoin de recoder ca en C.
Marsh Posté le 07-11-2006 à 09:41:55
Ah bon, je pensais que K était un long indiquant le nombre de caractères à passer (et non un nombre de bits!). Je vais essayer, merci jesus_christ
Sinon, si je n'y arrive pas comme ça, j'essaerai la méthode matafan (dd tu dis? je vais regarder cette commande en détail)
Merci pour vos conseils!
Marsh Posté le 07-11-2006 à 10:48:48
T'es sur que tu veut avancer d'un certain nombre de bits et pas d'un nombre d'octets ?
Marsh Posté le 07-11-2006 à 13:28:40
Non, c'était bien un nombre de bits. J'ai testé, ça a l'air de bien marché.
Voilà en gros les lignes de mon code:
FILE *fic_in, *fic_raw;
int K=21504;
char ligne[512];
char file_path[50];
fic_in = fopen(file_path,"r" ); /* file_path le path du fichier */
if (fic_in == NULL)
{
}
fic_raw = fopen(file_path,"w" ); /* file_path le path du fichier */
if (fic_raw == NULL)
{
printf("Error when openning file %s\n", fic_raw);
}
fseek(fic_in, K, SEEK_SET);
while(fgets( ligne , 512, fic_in ) != NULL) {
fprintf(fic_raw,"%s", ligne);
}
fclose(fic_in);
fclose(fic_raw);
Marsh Posté le 07-11-2006 à 15:10:35
sandra771 a écrit : Non, c'était bien un nombre de bits. J'ai testé, ça a l'air de bien marché. |
byte != bit !
Marsh Posté le 06-11-2006 à 18:21:35
Bonjour,
Je souhaiterais extraire une partie d'un fichier (en l'occurence, une image) comportant un entête.
Je connais la taille de mon entête en nombre de bits, et je ne voudrais récupérer que la partie image (et l'enregistrer dans un nouveau fichier).
J'ai pensé à :
1- ouvrir le fichier comportant entête + image
2- déplacer un pointeur au début de l'image
3- enregistrer la fin du fichier (partie image) dans une variable
4- stocker la variable dans un nouveau fichier
5- fermer les deux fichiers
Cependant, je bloque à l'étape 2, je ne vois pas comment déplacer mon pointeur au début de l'image (avec fseek, je ne peux pas faire cela).
Quelqu'un aurait-il une idée?
Merci d'avance!
Sandra