Résolu : C : Comment lire un fichier bit par bit
Dernière réponse : dans Programmation
Bonjour,
J'aimerais savoir comment faire pour lire un fichier bit par bit et aussi écrire dans celui-ci bit par bit en C ?
J'aimerais savoir comment faire pour lire un fichier bit par bit et aussi écrire dans celui-ci bit par bit en C ?
Autres pages sur : resolu lire fichier bit bit
Lassé par la pub ? Créez un compte
Scuze jvien de relire ton message le code d'avant ne fonctionnera qu'en C++
Voici une solution en C :
Voici une solution en C :
void lecture(int *tube, char *nomFichier){
//Descripteur de fichier
FILE *fichier;
//Chaine de caractere lue
char mot[256];
fichier = fopen(nomFichier,"r");
if (fichier == NULL){
printf("Erreur de fichier");
exit(1);
}
while (fscanf(fichier,"%s",mot) != EOF){
printf("%s", mot);
}
fclose(fichier);
}
Citation :
Salut Firelink !
Citation:
J'aimerais savoir comment faire pour lire un fichier bit par bit et aussi écrire dans celui-ci bit par bit en C ?
Simple, il te faut un désassembleur.
Je n'y connais rien d'autre... lol
Tchooooo
Salut Dilibouille,
J'aimerais le nom d'une focntion qui soit capable de lire un fichier bit par bit, pas un programme ! ;-)
Citation :
MouT59 a écrit :
Scuze jvien de relire ton message le code d'avant ne fonctionnera qu'en C++
Voici une solution en C :
void lecture(int *tube, char *nomFichier){
//Descripteur de fichier
FILE *fichier;
//Chaine de caractere lue
char mot[256];
fichier = fopen(nomFichier,"r");
if (fichier == NULL){
printf("Erreur de fichier");
exit(1);
}
while (fscanf(fichier,"%s",mot) != EOF){
printf("%s", mot);
}
fclose(fichier);
}
Salut MouT59,
Ton code lit un fichier mot par mot et non bit par bit ;-)
je numérote les bits en partant de la gauche en commançant à 0 (7,6,5,4,3,2,1 et 0)
La liste de masques:
00000001b = 0x01 = 1
00000010b = 0x02 = 2
00000100b = 0x04 = 4
00001000b = 0x08 = 8
00010000b = 0x10 = 16
00100000b = 0x20 = 32
01000000b = 0x40 = 64
10000000b = 0x80 = 128
donc si tu veux savoir si le premier bit est à 0 ou 1, tu fais un ET binaire (dont le résultat est, qu'un bit est mis à 1, si le bit du nombre ET le bit du masque sont à 1)
donc il suffit de tester:
La liste de masques:
00000001b = 0x01 = 1
00000010b = 0x02 = 2
00000100b = 0x04 = 4
00001000b = 0x08 = 8
00010000b = 0x10 = 16
00100000b = 0x20 = 32
01000000b = 0x40 = 64
10000000b = 0x80 = 128
donc si tu veux savoir si le premier bit est à 0 ou 1, tu fais un ET binaire (dont le résultat est, qu'un bit est mis à 1, si le bit du nombre ET le bit du masque sont à 1)
donc il suffit de tester:
if (nombre & 0x01 == 0x01)
puts("bit 0 mis à 1");
else
puts("bit 0 mis à 0");
if (nombre & 0x02 == 0x02)
puts("bit 1 mis à 1");
else
puts("bit 1 mis à 0");
if (nombre & 0x04 == 0x04)
puts("bit 2 mis à 1");
else
puts("bit 2 mis à 0");
if (nombre & 0x08 == 0x08)
puts("bit 3 mis à 1");
else
puts("bit 3 mis à 0");
if (nombre & 0x10 == 0x10)
puts("bit 4 mis à 1");
else
puts("bit 4 mis à 0");
if (nombre & 0x20 == 0x20)
puts("bit 5 mis à 1");
else
puts("bit 5 mis à 0");
if (nombre & 0x40 == 0x40)
puts("bit 6 mis à 1");
else
puts("bit 6 mis à 0");
if (nombre & 0x80 == 0x80)
puts("bit 7 mis à 1");
else
puts("bit 7 mis à 0");
Lassé par la pub ? Créez un compte
- Contenus similaires :
Tags :
- ForumLire un fichier bit par bit
- solutionsLire fichier bit par bit
- solutionsJava ecriture fichier bit a bit
- solutionsLire fichier bit torrent
- ForumComment changer un fichier sticky bit
- ForumFichier .bit
- ForumFichier bit
- ForumFichier bit torrent
- ForumC lire fichier txt
- ForumC lire dans un fichier
- Voir plus