Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Affecter l'équivalent hexa d'un int décimal dans un char [ Algorithme / Maths ] (kididouille)

vendredi 29 août 2008 à 14:53:40 | Affecter l'équivalent hexa d'un int décimal dans un char

kididouille


Bonjour, je bloque:
J'ai une fonction où je recois une date format UTC YYMMDD
on m'envoie un int par exemple 080829 (la date d'aujourd'hui)
je dois faire rentrer cette date sur 3 octets. je n'ai pas bien le choix je fais un tableau de char 3;
Et apres je dois assigner a char[0] le jour char[1] le mois... et pour ce faire je dois passer en hexa
ex: 15 avril 2006 -> 0x06  0x04  0x0F
Quand mon int arrive j'arrive a le décomposer
060415    06   04   15 et apres je voudrais rentrer par exemple
dans mon char[0]  la valeur 15 sous la forme 0x0F. Mais le compilateur comprend
que je veux mettre 2 digits sur un seul char et pète un cable.
je précise je suis en C.
Help please!


vendredi 29 août 2008 à 15:24:18 | Re : Affecter l'équivalent hexa d'un int décimal dans un char

SebLinck

Salut,

As-tu essayé:
char[0]='0x0F';

Cordialement,
Sébastien.

vendredi 29 août 2008 à 15:41:30 | Re : Affecter l'équivalent hexa d'un int décimal dans un char

Neo_Fr

Membre Club
char[0]='0x0F';
Ne marchera jamais avec les ' ' sinon ca veut dire que tu veut affecter 4('0','x','0','F') octets a un char qui ne peut contenir qu'un seul octet..

Sinon j'arrive pas vraiment a cerner ton probleme que veut tu faire exactement?

Neo_Fr

vendredi 29 août 2008 à 17:31:24 | Re : Affecter l'équivalent hexa d'un int décimal dans un char

juju12

long dwDate=871210; // ou une date quelconque
char swDay=dwDate%100;
char swMonth=(dwDate/100)%100;
char swYear=(dwDate/10000)%100;

C'est ce que tu veux il me semble?

vendredi 29 août 2008 à 17:36:53 | Re : Affecter l'équivalent hexa d'un int décimal dans un char

Neo_Fr

Membre Club
Une autre solution:

#define PACK_DATE(dd,mm,yy) (DWORD) (((BYTE)(yy)&0xFF)|((BYTE)((mm)&0xFF)<<8)|((BYTE)((dd)&0xFF)<<16))
#define UNPACK_DATE(x,ddmmyy) *((BYTE*) ddmmyy) = (BYTE) (((x) >> 16) & 0xFF); \
                                *((BYTE*) (ddmmyy+1)) = (BYTE) (((x) >> 8) & 0xFF);  \
                                *((BYTE*) (ddmmyy+2)) = (BYTE) ((x) & 0xFF)

int main(void)
{
    int iDate;
    char cDate[4];
    iDate = PACK_DATE(29, 8, 8);
    UNPACK_DATE(iDate, cDate);
    printf("%i/%i/%i\n", cDate[0], cDate[1], cDate[2]);
    system("PAUSE");
    return 0;
}

Neo_Fr

lundi 1 septembre 2008 à 10:07:51 | Re : Affecter l'équivalent hexa d'un int décimal dans un char

kididouille

Nickel!
Merci bien
on bloque souvent sur des trucs tout con!



Cette discussion est classé dans : date, int, char, équivalent, affecter


Répondre à ce message

Sujets en rapport avec ce message

Dans le genre prenant........ [ par Xs ] oui !c 'est trés chiant !j'explique mon pb : j'ai un code source, fais par moi-meme, et dedans, je veux que l'on saisisse des renseignement comme le l int to char ! [ par nullspace ] Voila mon problème !J'ai une résultat sous forme de variable INT, et je veux que ce résultat soit affecté à une variable de type CHAR.Genre, si j'ai 6 tableau char [ par dingue007 ] Voila je dois faire un prog en C++ : un tableau avec les mois de lannée et quand je tape un chiffre il me sort le mois ! mais je narrive pas a faire l conversion de char en int [ par magicoz ] Bonjour,Est-ce qu'il y aurait quelqu'un qui pourrait me dire comment convertir un caractère en un entier ? Un prog assez simple à réaliser, car les sc lire dans un fichier [ par skeul ] Bonjour,je rencontre qqs difficultés a faire une fonction qui lit un fichier et qui rentre la chaine de caractere dans un tableauy a comme un probleme jai un probleme avec ma source!!!!! jai vérifeir et je ne trouve rien...pouvez vous m'aider.... [ par retaks666 ] alors jai veut faire un programme ki génére une suite de caractere d'un nombre donné...et sa marche po... je vous done ma source si vous pouvez m'aide convertir un int en char ou en string [ par mimyne ] Bonjour je voudrai savoir comment on peut faire en c++ pour convertir un int en char ou bien en string la fonction itoa ne marche pas merci recuperer la date avec COleDateTime [ par kalf2000 ] salut, alor voila j'ai creer une variable de type COleDateTime qui doit me permet de recuperer l'heure et la date, mais justement je n'arrive pas a re problème de pointeur sur char (SUPER HYPER IMPORTANT -> juste pour moi...je supose) [ par levraipig ] bonjour à tous, voila moi j'ai un p'ti problème plutot embêtant.... je dois créer un class qui gère les chaines de caractères (ne me demander pas pou problème de pointeur sur char (SUPER HYPER IMPORTANT -> juste pour moi...je supose) [ par levraipig ] bonjour à tous, voila moi j'ai un p'ti problème plutot embêtant.... je dois créer un class qui gère les chaines de caractères (ne me demander pas pou


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,499 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.