lecture bit par bit dans un fichier

lecture bit par bit dans un fichier - C - Programmation

Marsh Posté le 20-02-2004 à 12:51:52    

Bonjour !
 
Comment lire bit par bit dans un fichier en C ?
 
fread() aurait été pas mal mais il lit octet par octet et je n'ai pas envie de m'énerver a extraire les bits un par un.
 
Donc existe t il une fonction en c pour lire bit par bit...?

Reply

Marsh Posté le 20-02-2004 à 12:51:52   

Reply

Marsh Posté le 20-02-2004 à 12:53:02    

non

Reply

Marsh Posté le 20-02-2004 à 13:00:59    

Bon, maintenant que j'ai eu une reponse très "étendue" :-( quelqu'un pourrait il me donner une idee d'algo simple pour resoudre mon petit probleme...plz ?

Reply

Marsh Posté le 20-02-2004 à 13:05:34    

tu lis dans un buffer avec son pointeur de bit associé, tu as une fonction qui retourne un bool et qui avance le pointeur, quand tu as consommé tous tes bits, tu relis une rafale dans le buffer.
 
(par exemple, après à toi d'étoffer).


Message édité par bjone le 20-02-2004 à 13:06:12
Reply

Marsh Posté le 20-02-2004 à 13:10:09    

J'y avais deja pensé mais c'est justement ce type d'algo que je voulais eviter car je dois faire un traitement bit par bit apres et ca va alourdir le prog. Mais si je n'ai pas le choix...

Reply

Marsh Posté le 20-02-2004 à 13:10:51    

le char étant la plus petite unité adressable, on peut pas manipuler les bits en tant que tel en C.

Reply

Marsh Posté le 20-02-2004 à 13:12:14    

je ne crois pas que tu aies vraiment le choix, la lecture bit a bit n'etant pas possible ...

Reply

Marsh Posté le 20-02-2004 à 13:14:47    

bon ! Résigné que je suis, je vai me flagélé pendant 4 heures pour ne pas avoir trouvé de solution simple. Bah ! que la vie est cruelle ! ....hin ? mais qu'est ce que j'raconte moi ???
 
Merci les gars !

Reply

Marsh Posté le 20-02-2004 à 13:48:31    

c'est tout de même pas la mer à boire de faire une fonction qui teste un bit donné ...

Reply

Marsh Posté le 20-02-2004 à 13:49:10    

sinon tu mappes le fichier en mémoire, et tu fais une fonction d'extraction qui prends en paramètre l'indice du bit que tu veux, (si tu prends un indice 32bit, la taille du fichier max fait 4go/8 : 512 mo). le cacheage/buffering sera assuré au niveau page par l'os.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed