conversion (unsigned int64)->string
Bonjour.
J'ai un type d�finit comme suit: (c'est un mot de 64 bits, ou 2 mots de 32 bits)
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
typedef union
{
//1 mot de 64 bits
unsigned __int64 motEntier;
//2 mots de 32 bits
struct
{
unsigned int part1;
unsigned int part2;
}mot32;
} Mot64; |
�a je ne peux pas y toucher!
Maintenant, j'essaie de mettre un de ces mots dans un string, mais �a ne marche pas des fa�ons que j'ai essay�:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
//init de mon mot:
Mot64 monMot;
monMot.motEntier=982280960055126;
//un petit oss pour la conversion, et un string:
ostringstream oss;
string monString;
//mes essais:
oss << monMot.motEntier;
//compilation error: operator '<<' is ambiguous
oss << (unsigned __int64) monMot.motEntier;
//compilation error: operator '<<' is ambiguous
oss << (double) monMot.motEntier;
//compilation error: conversion from unsigned __int64 to double not implemented, use signed __int64
oss << (signed __int64) monMot.motEntier;
//compilation error: operator '<<' is ambiguous
oss << (int) monMot.mot32.part1 << (int) monMot.mot32.part2
//ca compile et execute, mais evidemment ne me donne pas le bon resultat |
Si quelqu'un a une id�e je suis preneur, parce que la je s�che.
Je suis bien all� voir la faq, comment convertir n'importe quel type d'objet en string, mais je ne comprend pas bien les classes templates.