variable en caractere

variable en caractere - C - Programmation

Marsh Posté le 23-12-2006 à 21:07:55    

Bonsoir,
j'ai le code suivant :

Code :
  1. char calc = 4;
  2. char maVariable[4] = {0};
  3. maVariable[1] = <Ce que je cheche>;


Mais voilà.. Peut-être l'avez vous compris, je voudrais mettre la variable calc comme si on la mettait entre apostrophes. Ca me serait vraiment utile.

 

Merci à vous et joyeuses fêtes de noël!

 

PS: c'est bizard a rechercher sur google : je suis obligé de rechercher des trucs du style "variable comme caractere C"


Message édité par nini_404 le 23-12-2006 à 21:32:46
Reply

Marsh Posté le 23-12-2006 à 21:07:55   

Reply

Marsh Posté le 23-12-2006 à 21:15:45    

Ca calme :sweat:  
 
Mais puisque c'est bientôt Nowel... Explique !!!

Reply

Marsh Posté le 23-12-2006 à 21:28:59    

Arf .. Bon je vais essayer d'expliquer un peu mieux (même si c'est pas facile :sarcastic: (a expliquer)).

 

Bon en fait je viens de regarder ça de plus près, c'est facilement faisable avec un caractere, mais ce n'est pas mon but. Regardez ce code :

Code :
  1. //je déclare mes variables
  2. char calc = '4'; // ==> ce n'est qu'un exemple, on aurait pu prendre n'importe quel chiffre
  3. char maVariable[4] = {0}; // je met tout le tableau maVariable a 0
  4. maVariable[1] = calc;
  5. /* je veux que maVariable[1] soit égale à " ===> '4' <=== " ( soit quelque chose comme " ===> 'calc' <=== " Mais cet exemple ne fonctionne pas car il est
  6. impossible de mettre une variable telle que celle-ci entre guillemets ) afin de pouvoir le concaténer avec d'autres caracteres du tableau maVariable*/
 

Si je ne fais pas un truc comme ça, maVariable[1] sera égal à un signe bizaroïde quand j'essayerais d'afficher le caractere

 

Merci a vous

Message cité 1 fois
Message édité par nini_404 le 23-12-2006 à 21:47:59
Reply

Marsh Posté le 23-12-2006 à 22:15:20    

Je comprends pas trop ce que tu veux , mais j'imagine que c'est un truc du genre coder un nombre en tableau de chiffres. Pour un chiffre :
int x; /*x est un chiffre*/
char y = 48 + x; /* 48 est le code ASCII de 0*/
 
Si x est un nombre, tu le décomposes en base 10, et pour chaque élément de la décomposition, tu fais ce qui est au dessus.

Reply

Marsh Posté le 23-12-2006 à 22:38:15    

Yes!! Merci a toi fhr, c'était exactement ce que je souahitais. Merci a toi et désolé pour mon manque de clarté.
Joyeux noël!
a+

Reply

Marsh Posté le 23-12-2006 à 22:40:45    

nini_404 a écrit :

Yes!! Merci a toi fhr, c'était exactement ce que je souahitais.


Lit la doc de sprintf(), c'est fait pour...
 


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
Reply

Marsh Posté le 23-12-2006 à 23:36:49    

nini_404 a écrit :

char maVariable[4] = {0}; // je met tout le tableau maVariable a 0


Non, tu ne mets à 0 que le premier élément du tableau, à savoir "maVariable[0]" - Les autres éléments "maVariable[1], maVariable[2] et maVariable[3]" prennent une valeur indéfinie.
 

fhr a écrit :

char y = 48 + x; /* 48 est le code ASCII de 0*/


char y = '0' + x     :sol:

Message cité 1 fois
Message édité par Sve@r le 23-12-2006 à 23:40:45

---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
Reply

Marsh Posté le 23-12-2006 à 23:40:46    

Sve@r a écrit :

Non, tu ne mets à 0 que le premier élément du tableau, à savoir "maVariable[0]" - Les autres éléments "maVariable[1], maVariable[2] et maVariable[3]" prennent une valeur indéfinie.


Ahem. C'est là qu'on fait une pause et qu'on relit son livre de C...

 

Message cité 1 fois
Message édité par Emmanuel Delahaye le 23-12-2006 à 23:40:58

---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
Reply

Marsh Posté le 23-12-2006 à 23:42:26    

Emmanuel Delahaye a écrit :

Ahem. C'est là qu'on fait une pause et qu'on relit son livre de C...


Pour re lire un livre, il faudrait d'abord l'avoir lu... :D... mais c'est vrai que j'ai dit une erreur. Je viens de re garder une doc et effectivement un tableau initialisé en partie met toutes ses autres valeurs à 0...


Message édité par Sve@r le 23-12-2006 à 23:46:55

---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed