Intanto questa

char *s=1010;

e' sbagliata ... semmai deve essere

char *s="1010";

Poi, ti ho scritto nella mia ultima risposta, che dopo aver ottenuto il valore

int v = atoi(s);

puoi convertire v da decimale a qualsiasi altra base, dividendo continuamente il valore per la base e prendendo i resti (al contrario) e inserendoli in una stringa risultato ...