This function takes a string pointer str and a size and fills the buffer with a null-terminated string of the specified size.
Optionally the symbol ALLOW_BACKSPACE can be defined. If this symbol is defined, a backspace character will remove a character from the buffer.
It relies upon the library function getch(), which must be available elsewhere. For more information, see Reference IV, STDIO.