*CHAR --> DOUBLE???

ISAIAS DUQUE GOMEZ
15 de Febrero del 2006
alguien podra orientarme?..

tengo esta funcion

char *captura(int x, int y)´
{
char *ptr;
int x,tecla=0,i=0;
for(x=0;x<80;x++)
{
ptr[x]=0;
}
_setcursortype(0);
do
{
tecla=getch();
if((tecla>=48 && tecla<=57))
{
ptr[i]=tecla;
i++;
gotoxy(col--,fila);printf("%s",ptr);
}
if(tecla==8) ///borrar caracter
{
ptr[--i]=' ';
textcolor(7);
gotoxy(col++,fila);cprintf("%s",ptr);
textcolor(0);
gotoxy(col--,fila);cprintf("%s",ptr);
}
}
while(tecla!=ENTER);
return ptr;
}

es decir la funcion me retorna una cadena numeros,
la funcion solo captura numeros, pero en a funcion principal, necesito forzosamente usar un double..

y no poyedo convertir , ya use atof, y no puedo, he diseñadouna funcion que convierta de char a double y tamcpoo
uds saben de alguna conversion
tmb he intentado pasar de char a int, usando atoi, y de atoi a atof, pero me atoro, alguien de uds se le ocurre algo..?? gracias por la atencion