Skip Navigation

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?

0 comments

No comments