Perdon, antes puse mal un pedaso del for:
Código C++:
Ver originalnumero = 0;
for(i=0;cadena[i] != '\0' ,i ++) {
digito=cadena[i] - '0';
numero = numero * 10 + digito;
}
No es muy dificl. Primero seteamos a 0 la variable numero. Luego en el for (un ciclo) vamos a recorrer la cadena caracter a caracter.
Lo que esta entre las llaves se realiza por cada ciclo del for.
Ahi lo que hacemos es calcular el digito que corresponde a ese caracter. Le restamos el valor que representa el cero para obtener el valor del digito.
Luego a nuestro numero lo multiplicamos pro 10 y le sumamos este digito.