I have to be honest, since I read your question, SDL_ttf arose immediately. It is not too difficult to use, and there are many documents available.
It looks like what you are looking for is a library that provides a simple console interface where your main interaction with the software is the text write(...) and read(...) , and it handles the display, scrolling, etc.
There is a lot of code in this project showing how to implement a simple โconsoleโ in the SDL, and SDL_ttf is used for this.
I'm not sure that you will avoid this unless you grab a library that hides it from you, like this one , but you will have less control over the display and the interactivity that this provides.
source share