Bonjour,
je veux afficher dans un messagebox un caractere de type LONG*_64
Est ce quelqu un a une idee sur ca
Merci.
Version imprimable
Bonjour,
je veux afficher dans un messagebox un caractere de type LONG*_64
Est ce quelqu un a une idee sur ca
Merci.
Tout ce que je peux dire, c'est que pour les __int64, tu peux utiliser le préfixe I64 dans printf :
Code:printf("%I64d\n",val64);
Merci mais en fait j'ai oublie je travaille en c++ MFC est ce que tu aurrais une idee a ce sujet
Merci.
Je pense que ça ne change rien, tu fais un str.Format("%I64u"), par exemple.
je sais pas mais LONG en MFC ça correspond à long
c'est LONGLONG pour _int64Code:typedef long LONG;
C'est vrai, d'ailleurs, le type LONG*_64 ne me disait rien...
Par contre, cette même ligne pourrait permettre de déclarer une variable appelée _64 qui serait un pointeur sur LONG...
Moi j'ai interprété sa question comme si elle voulait écrire la valeur d'un pointeur sur 64 bits, et je lui ai donné une réponse concernant les entiers sur 64 bits. Mais comme je n'ai pas eu de suite, je ne sais pas si celà convenait.
Non en fait ca ne covient pas en fait voila mon but c est simple je veux afficher dans une "messagebox" en MFC une valeur Long*_64 et ce n est aps pris en consideration car Messagebox prend en parametre le type "LPCTSTR"
Voila donc mon but et aucune methode ne marche j ai essayer meme Sprintf mais je ne suis pas sur des parametres que j ai mis :)
ou _64 est un LONG *...Code:
1
2
3
4 CString Message; Message.Format("Entier : %d", (*_64)); MessageBox(Message, MB_OK);
L'équivalant de printf si on peut dire c'est Format d'une CString, les Params sont les mêmes que printf
moi ce que je ferais si les formats de sprintf ou de Format ne gèrent pas les LONG 64 (que je ne connais pas, d'ailleurs, on pourrait voir le typedef ?), ce serait des opérations mathématiques pour isoler le LONG 64 en plusieurs valeurs moins grandes et représentables dans les formats
Au niveau typedefs, on a :
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winprog/winprog/windows_data_types.asp
typedef __int64 INT64, LONGLONG, LONG64;
+ la même chose en unsigned
+ les XXX_PTR en mode 64bits
Et tous peuvent s'afficher avec xxprintf("%I64d", var);
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/_crt_printf_Type_Field_Characters.asp
JE vous remerci j'ai trouve la solution avec "Message.Format" simple et efficace donc merci a tous.
Que j'avais donnée dans mon deuxième post :cry: