Fonction char -> bool

destroy2k4 Messages postés 2 Date d'inscription jeudi 4 mars 2004 Statut Membre Dernière intervention 17 mars 2004 - 17 mars 2004 à 23:27
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 - 18 mars 2004 à 15:30
salut a tous je suis debutant en programmation et j'ai un petit probleme
voila en fait j'ai besoin d'une fonction C qui prend en parametre un tableau de char (de caracteres quoi) et qui renvoie un tableau de booleains correspandant au code ASCII de ces caracteres..

exemple: avec un tableau contenant "AA" la fonction retournerai un tableau contenant "0100000101000001" (car A=65=01000001)

ou a la rigeure un truc qui s'approche du resultat

merci pour votre aide

7 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
17 mars 2004 à 23:34
Alors fais une func de ce genre:

int TransBin(const char *szSrc, char *szOut);
En C/C++ jamais bien sain de 'retourner' un tableau, on fournit le buffer a remplir.

ciao...
BruNews, Admin CS, MVP Visual C++
0
yafuka Messages postés 236 Date d'inscription vendredi 21 février 2003 Statut Membre Dernière intervention 18 juillet 2006 1
17 mars 2004 à 23:42
Vu que les code ascii vont de 65 a 90 & 97 a 122 il peut donc tenir sur un byte soit 8 octets.
ainsi tu peux retourner un tableau de bool de taille 8 pour chaque caracteres.

Aini dans ta fonction utilise strlen() pour connaitre la taille du tableau passé en parametre.

Puis bool* T = new bool[taille]; // taille est ce que strlen renvoi

le reste est simple , tu n'as qu'a parcourir le tableau et recuperer le code ascii de chaque caractere puis le mettre dans le T par bloc de 8.

Moi j'aurai procéder ainsi.

Yafuka ( * _ * ) 8-)
0
yafuka Messages postés 236 Date d'inscription vendredi 21 février 2003 Statut Membre Dernière intervention 18 juillet 2006 1
17 mars 2004 à 23:44
Sacré Brunews :)

tu as eu le temps de poster un message pdt que j'essayais de repondre ;)

Au moins j'aurais essayé..

Yafuka ( * _ * ) 8-)
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
17 mars 2004 à 23:46
yafuka > desole, je rentre du resto, ce qui m'a mis en forme du clavier.

ciao...
BruNews, Admin CS, MVP Visual C++
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
18 mars 2004 à 05:57
Je ne sais pas si c'est pour un projet info de l'université Bordeaux 1... en tout cas, voici mon code pour ce projet qui fait la même chose :
[char]
static char*
conversion_binaire(char* texte)
{
int i, j;
int car=0;
char* retour = (char*) malloc(sizeof(char) * (strlen(texte) * 8) + 1);

for (i=0; texte[i] != '\0'; i++)
{
car = texte[i];
for (j=7; j>=0; j--)
{
if ((car - pow(2, j)) < 0)
retour[7 - j + i*8] = '0';
else
{
car -= pow(2, j);
retour[7 -j + i*8] = '1';
}
}
}

retour[j + i * 8 + 1] = '\0';
return retour;
}
/code

Ce code renvoie un char* et non un tableau de booleen, à toi de l'adapter

DarK Sidious

[Responsable API/VB du site www.ProgOtoP.com]
Téléchargez ProgOtoP API Viewer
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
18 mars 2004 à 12:57
Maintenant en C:

void sToBin(const char *szIn, char *szOut)
{
const char *c;
char *d;
BYTE mask; c szIn; d szOut;
while(*c) {
mask = 0x80;
do {
*d++ = (*c & mask) ? '1': '0';
mask >>= 1;
} while(mask);
c++;
}
*d = 0;
}

DARKSIDIOUS > faut oublier VB, surement pas evident mais indispensable.

ciao...
BruNews, Admin CS, MVP Visual C++
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
18 mars 2004 à 15:30
BruNews : je sais bien, mais malheureusement, je garde les automatismes du VB encore ! mais à force viendras le jour ou je les perdrais ;-)

DarK Sidious

[Responsable API/VB du site www.ProgOtoP.com]
Téléchargez ProgOtoP API Viewer
0
Rejoignez-nous