Convertsion int en unsigned char

cs_avg Messages postés 97 Date d'inscription lundi 5 novembre 2007 Statut Membre Dernière intervention 20 août 2011 - 2 avril 2010 à 12:10
cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 - 2 avril 2010 à 15:06
Salut tout le monde
j'ai une souci pour convertir un int en unsigned char[]
voir le code c++ qui affiche l'erreur

int a=100;
unsigned char ch[]=(unsigned char[])a;

Merci pour vos aides

2 réponses

cs_avg Messages postés 97 Date d'inscription lundi 5 novembre 2007 Statut Membre Dernière intervention 20 août 2011
2 avril 2010 à 13:13
Merci j'ai résolu mon problème avec cast de int en char puis de ce char en unsigned char
voir le code c++:

int i;
     char buffer [256];
     i=100;
     itoa (i,buffer,10);
     printf ("decimal: %s\n",buffer);
 unsigned char reg[256];
 sprintf((char*)reg,"%s",buffer);
  printf ("voila: %s\n",reg);


Mais est ce que je peut allouer de memoire pour les tableau sans ecrire 256 comme l'exemple de malloc
0
cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 123
2 avril 2010 à 15:06
j'ai une souci pour convertir un int en unsigned char[]

Heu... Mais pourquoi tu cherches à faire cela ? Ça n'a pas de sens !

Pour reprendre ton code en plus simple:
#include <stdio.h>

int main(void)
{
  int i = 100;
  unsigned char reg[256];
  sprintf((char*)reg, "%i", i);
  printf ("voila: %s\n",reg);

  return 0;
}


Le même avec un malloc:
#include <stdio.h>
#include <stdlib.h>

int main(void)
{
  int i = 100;
  unsigned char* reg = malloc(256 * sizeof (unsigned char));
  sprintf((char*)reg, "%i", i);
  printf ("voila: %s\n",reg);
  free(reg);

  return 0;
}

_____________________________________________
Historique de mes créations, et quelques articles:[ http://0217021.free.fr/portfolio
http://0217021.free.fr/portfolio]
0
Rejoignez-nous