C undefined input string length program
C undefined input string length program
' char* strInput =(char*) malloc(sizeof(char)); int ch; int letNum = 0; while((ch = getchar()) != EOF){ letNum++; strInput = (char*)realloc(strInput,letNum*sizeof(char)); *(strInput + letNum - 1) = ch; } printf("\n"); printf("%s\n",strInput); free(strInput);`
This is the contents of main in a program I wrote that takes an undefined number of chars and prints the final string. I don't understand why but it only works if I press ctrl+D twice, and only once if I press enter before.
does anyone get what's going on? And how would you have written the program?