Hombre, tampoco es para complicarse demasiado:
Código C++:
Ver originalstring cadena;
unsigned int enteroactual;
char charactual;
unsigned int enterototal = 0;
cin >> cadena;
for (string::const_iterator iterador = cadena.begin(); iterador != cadena.end(); ++ iterador)
{
charactual = *iterador; // de dereferencia a char
enteroactual
= strtol(&charactual
,NULL
,10); // dir de char enterototal += enteroactual*enteroactual;
}
cout << "el entero es: " << enterototal;
Si introduces 64 devuelve: (6*6) + (4*4) = 52
Un saludo.