cs_Adeon
Messages postés293Date d'inscriptionjeudi 21 août 2003StatutMembreDernière intervention10 avril 20152 10 déc. 2009 à 16:05
voila l'idée :
boucle
{
char cOctet FichierSource->Read;
char szOctet[8];
Transformer cOctet en 8 caractères '0' ou '1' et les mettre dans szOctet[8]
for(int i=0;i<8;i++)
{
FichierDestination->Write(szOctet[i]);
}
}
cs_mogador
Messages postés33Date d'inscriptionmercredi 18 octobre 2000StatutMembreDernière intervention 4 janvier 2010 10 déc. 2009 à 15:58
Bonjour,
je souhaiterais convertir n'importe quel type de fichier (txt, jpg, avi, exe ...) en fichier binaire ou plutot en fichier texte contenant un suite de 0 et 1. et la meme chose faire le contraire.
Merci pour votre aide.
sed
cs_Adeon
Messages postés293Date d'inscriptionjeudi 21 août 2003StatutMembreDernière intervention10 avril 20152 8 mai 2007 à 12:16
Pour l'info ( meme si je post ce message 3 ans apres ^^ ) le reste d'une division de A par B se note A%B.
voila !
a++
cs_Funcky
Messages postés59Date d'inscriptionlundi 31 décembre 2001StatutMembreDernière intervention11 mai 2006 27 févr. 2004 à 14:11
Ouai, pourquoi pas, en fait les fonctions ici j'avais pa besoin de polus de 8 bits, puisque c'était un traitement d'unsigned char ... en fait pour un fichier lu octet par octet ...
Hylvenir
Messages postés364Date d'inscriptionmercredi 11 février 2004StatutMembreDernière intervention 5 octobre 20062 27 févr. 2004 à 11:20
Ca fait longtemps que j'ai fait du C...
C'est un peu plus court et plus limité à 8 (il y a sûrement mieux mais je débute dans ce domaine)... j'suis même pas sûr que ce soit plus rapide (un peu quand même)
void dec_to_bin ( int dec, int* bin, int size ) {
int i = 0;
for ( i = size-1; i >= 0; --i, dec >>= 1 )
bin[i] = dec & 0x01;
}
int bin_to_dec( int* bin, int size ){
int resultat 0, i 0;
for ( i = 0; i < size; i++ )
resultat = (resultat << 1) | bin[i];
return resultat;
}
11 déc. 2009 à 16:26
j'ai essyé ca mai ca marche pas:
#include <stdio.h>
int main(int argc, char **argv) {
/*
FILE *fp;
fp=fopen("test.c", "wb");
char x[10]="ABCDEFGHIJ";
fwrite(x, sizeof(x[0]), sizeof(x)/sizeof(x[0]), fp);
*/
FILE *fp;
fp=fopen("test.c", "rb");
char x[10];//="ABCDEFGHIJ";
fread(x, sizeof(char), 10, fp);
printf("%d================",sizeof(x));
printf("\n");
for(int i=0;i<sizeof(x);i++)
{
printf("%x==========",x[i]);
//printf("\n");
for(int j=7;j>=0;j--)
{
//printf("(%d)",j);
printf("%d",(x[i]>>j)&(255>>7));
}
printf("\n");
}
}
10 déc. 2009 à 16:05
boucle
{
char cOctet FichierSource->Read;
char szOctet[8];
Transformer cOctet en 8 caractères '0' ou '1' et les mettre dans szOctet[8]
for(int i=0;i<8;i++)
{
FichierDestination->Write(szOctet[i]);
}
}
10 déc. 2009 à 15:58
je souhaiterais convertir n'importe quel type de fichier (txt, jpg, avi, exe ...) en fichier binaire ou plutot en fichier texte contenant un suite de 0 et 1. et la meme chose faire le contraire.
Merci pour votre aide.
sed
8 mai 2007 à 12:16
voila !
a++
27 févr. 2004 à 14:11
27 févr. 2004 à 11:20
C'est un peu plus court et plus limité à 8 (il y a sûrement mieux mais je débute dans ce domaine)... j'suis même pas sûr que ce soit plus rapide (un peu quand même)
void dec_to_bin ( int dec, int* bin, int size ) {
int i = 0;
for ( i = size-1; i >= 0; --i, dec >>= 1 )
bin[i] = dec & 0x01;
}
int bin_to_dec( int* bin, int size ){
int resultat 0, i 0;
for ( i = 0; i < size; i++ )
resultat = (resultat << 1) | bin[i];
return resultat;
}