There's nothing in the question that requires the comment regarding
"system-specific extensions", since there's a well-known cross-platform
interface, even if it may not happen to apply to _your_ particular system.
o Embedded systems, display panels, telex and text terminals --
no certainty that there *is* a suitable display on any given system,
and no C mechanism to probe to determine whether such a display is
present.
o VT52, VT100, ANSI, xterm, Adm3a, Tek4014 -- very different
control sequences even when they do exist, and no C mechanism to probe
to determine the required control sequence format
o Speaking of Tek4014: drawable displays don't necessarily mean
you can erase in place without erasing the whole screen and redrawing
the changed version; and no C mechanism to probe this kind of
characteristic
o termio, termios, whatever DOS used, whatever modern Windows used --
quite different APIs to be able to control character-by-character
interactions even when such facilities exist; and no C mechanism to
probe to see what the API is
Libraries such as ncurses and gnu readline merely encapsulate
useful related functionality, and do a lot of conditional compiling
to implement some of the more common cases... provided that what
people have implemented in the past is able to make useful guesses
about what kind of configuration and OS the program will be used on.
They do not remove the need for system-specific extensions; at best
they have done useful parts of the work for you.
The original poster hinted that she is using a "unix/linux OS",
but does not actually say so, and does not make clear whether
she is trying for a Unix implementation or a Linux implementation.
There have been major differences in the mechanisms for Unix;
I don't know whether this is one of the many interfaces changed
in Linux. Certainly there has been more than one "Linux"; we
haven't been given enough information to determine whether
she is implementing on a RedHat 9 server or a uLinux wireless
access point.
The original poster needs to find a newsgroup or systems administrator
that deals with the kind of OS and implementation environment
that she wants to deal with, and ask her questions there, making
clear what environment she is talking about. The answer -might-
come back as "Use gnu readline()", or it might not; even those
amongst us [if any] who know gnu readline() well haven't been given
enough information about the requirements to know whether that
would be an answer, and it does not fall within the usual boundaries
of comp.lang.c to discuss operating environments enough to
determine exactly which (if any) cross-platform library would be
suitable for the task in whatever the OP's target environment turns
out to be.