c - Allocating Memory for a whole line of input of variable length stored as a single string -


i'm learning c , reading around best way take in input line line.

basically want create strings hold whole line of input. question below doesn't answer how should handle memory allocation string.

how can scan strings spaces in them using scanf()?

should first detect how space needed? how? should realloc every time need more space?

please show example

input file or stdin(both possible not @ same time)

the following repeatedly allocates buffer storage until input has been read (malloc/realloc checks omitted):

char *mygetline(file *in) {     char *buffer= null;     int c, i, j;      i= 0; j= 0;         {         c= fgetc(in);         if (i==j) {             j += 1024;             buffer= realloc(buffer, j);         }         if (c==eof) break;         buffer[i++]= c;     } while (1);     buffer[i]= '\0';     return buffer; } 

Comments

Popular posts from this blog

html - Difficulties with background-image property -

visual studio code - What does the isShellCommand property actually do and how should you use it? -

ios - Segue not passing data between ViewControllers -