Ho un altro problema, cercando di rifarmi al codice che mi avete gentilmente suggerito, ho elaborato questo:
codice:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
main(){
char *buffer, ch;
int n, f, i;
n=0;
buffer = (char *) malloc(sizeof(char));
if(!buffer){
        puts("Memory failed");
        exit(EXIT_FAILURE);
}
printf("Inserisci la frase: ");
while(ch='\n'){
ch=getchar();
if(ch='\b'){
    if(n>1) {
      n--;
      buffer=realloc(buffer, n*sizeof(char));
    }
    else if(n==1) n--;
    else if(n==0) break;
}
else {
     buffer[n]=ch;
     n++;
     buffer=realloc(buffer, n*sizeof(char));
    }
}
buffer=realloc(buffer, (n+1)*sizeof(char));
buffer[n]='\0';
printf("La frase e': ");
puts(buffer);
printf("\n");
system("PAUSE");
return 0;
}
L'unico problema è al momento della stampa, cioè non stampa niente, come se il buffer caricato fosse vuoto(cosa che sospetto) però non riesco a individuare il problema :master: