La dernière fois que j'ai eu ce problème, on m'a dit qu'il fallait utiliser stringstream.
Mais même si c'est moche, la meilleurs façon est probablement de passer par un 'atoi' sur la chaine C (vu qu'obtenir cette chaîne est gratuit je pense).
Mais ça illustre bien les limitations du C++ ...
Peut-on appliquer directement des fonctions à des constructeurs en C++ ? avec l'effet voulu ? Si oui, une construction comme "istringstream(str) >> i;" est presque esthétique (mais presque seulement, car j'aimerais plutôt écrire "i << ..." pour que ça ressemble à une affectation).