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: