Eso de tener que añadir una libreria, y que ademas no haga exactamente lo que necesito no me convence

Tengo una cadena de 35 caracteres, y los 3 primeros son numeros, pudiendo formar del 000 al 999.
Lo que hago es:
int C = 0; //centenas
int D = 0; //decenas
int U = 0; //unidades
C = Buffer[0];
D = Buffer[1];
U = Buffer[2];
//convierto el valor del numero ASCII en su numero correspondiente
C = C - 0x30;
D = D - 0x30;
U = U - 0x30;
Numero = (long)C * 100 + D * 10 + U;
Todavia no lo probe, ya que tengo que seguir con la programacion.
Pero os parece que puede ir funcionar? O al pasar de un CHAR a un INT me hara automaticamente la conversion?
Salu2