Bon il y a qq temps, je cherchais comment remplacer les strto* et wcsto* par quelque chose de plus propre.
Après demande a Taz, celui ci m'a parlé des stringstreams...
A ce moment la j'ai absolument pas compris en quoi ca m'aidait, maintenant cette partie là c'est bon, mais j'ai encore un petit problème:
Code :
- stringstream foo;
- string bar = "10";
- unsigned short value;
- foo << bar;
- foo >> value;
- cout << "Taiste " << value << endl;
|
Ce code fonctionne très bien si on a un décimal dans bar, mais si on met une valeur en octal (010), il la considère comme du décimal (10 et non 8), et si on met une valeur en hexa (0xE), il ne parse que le 0 (au lieu de sortir 14).
Problème 1: Me faut il obligatoirement passer par les modificateur hex et oct ou y a-t-il un moyen de le faire implicitement?
Problème 2: Si je remplace unsigned short par unsigned char, il colle (assez logiquement) le code ascii du 1er caractère dans l'uchar au lieu d'y mettre sa valeur. Dois-je nécessairement passer par l'étape unsigned short pour placer la valeur numérique présente dans le string et non le code ascii du 1er caractère dans mon uchar?
---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody