Hola a tod@s
Estoy haciendo una práctica en C para el instituto. Trata de mejorar el cmd de windows con algunas funcionalidades que tiene el shell de linux. Para mi es complicadísimo aunque algo he conseguido; pero el caso es que una función del programa no hace lo que quiero (mejor dicho no sé cómo hacerlo

) . Utilizando _getche() y un vector que recogerá los caracteres me gustaría poder borrarlos y sobreescribirlos si hiciera falta. Lo que me he hecho borra y sobreescribre todo menos el elemento 0 y lo que imprime por pantalla tampoco sé como borrarlo.
Os copio el código:
Cita: #include <stdio.h>
#include <conio.h>
void main()
{
int i=0, f=0;
char car;
char frase[100];
do {
car=_getche();
if (car==8 && i!=0) frase[i-1]=NULL; //para borrar pero no consigo que borre
else if (car==8 && i==0) frase[0]=NULL; //el elemento [0]
if (car!=13) frase[i]=car;
else frase[i]='\0'; //si pulsa ENTER
i++;
}
while (car!=13);
//if (frase[0]=='\0') //frase[0]=NULL; //printf("Hay solo un enter\n");
printf("\n\n");
for (f=0; f<i-1; f++)
printf("%d\n", frase[f]); //muestra el valor decimal del carácter introducido
printf("%s\n", frase);
}
Ah, también me sería de ayuda saber el valor decimal de la tecla Ins, no lo encuentro en la tabla ASCII.
Gracias por la ayuda que me podais dar.
P.D: Tendría que a ver ido más a clase