Ho un altro problema, cercando di rifarmi al codice che mi avete gentilmente suggerito, ho elaborato questo:
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: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; }

Rispondi quotando