Conversion d'un double en char en C
Discutez d'informatique ici !
-
johnashhh
- Membre Naturel
- Messages: 18
- Enregistré le: 19 Avr 2009, 20:03
-
par johnashhh » 04 Mar 2010, 11:28
Bonjour,
J'ai voulu convertir un double en char[]! Pour cela, j'ai utilisé la fonction "sprintf".
Mais je suis perdu dans mon programme parce que je dois effectuer une concaténation. Voici mon code:
char iv[8]; /*chaque case de iv doit contenir un nombre aléatoire entre 0
et 255*/
char buf[2];
int i, k;
srand(time(NULL));
for (i = 0; i < 8; i++){
k = rand()%256;
sprintf(buf, %d, k);
....
Je ne sais pas comment faire!?
Merci de m'aider
-
fatal_error
- Membre Légendaire
- Messages: 6610
- Enregistré le: 22 Nov 2007, 12:00
-
par fatal_error » 04 Mar 2010, 11:37
salut,
Que dois-tu faire?
Une concaténation entre quoi et quoi?
pour info, rand renvoie un int et non un double
la vie est une fête

-
johnashhh
- Membre Naturel
- Messages: 18
- Enregistré le: 19 Avr 2009, 20:03
-
par johnashhh » 04 Mar 2010, 11:46
En fait, je dois faire en sorte que le tableau de caractères iv contienne dans chaque case, un nombre aléatoire entre 0 et 255.
-
fatal_error
- Membre Légendaire
- Messages: 6610
- Enregistré le: 22 Nov 2007, 12:00
-
par fatal_error » 04 Mar 2010, 12:06
tableau de caractères iv contienne dans chaque case, un nombre aléatoire entre 0 et 255.
Ben comme son nom l'indique, un tableau de caractère ne contient pas des nombres mais des caractères.
Eventuellement, tu peux stocker un char qui correspond à une valeur entière comprise entre 0 et 255 mais c'est avant d'avoir recourir a ce genre d'optimisation foireuse, ya ptet mieux a faire...
Pour revenir au truc. Tu peux générer un int.
Un int est (généralement) composé de 4 bytes. Tu prends donc le dernier byte qui correspond à ta valeur aléatoire codée sur 8 bits, byte que tu peux stocker dans ton tableau de char (un char étant permettant le stockage d'un byte)
la vie est une fête

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 7 invités