Raw mode only works with the Curses input routines [w]getch and [w]getstr. Raw mode is not supported with the DEC C RTL emulation of UNIX I/O, Terminal I/O, or Standard I/O.
#include <curses.h> raw() noraw()
/* Example of standard and raw input in Curses package. */ #include <curses.h> main () { WINDOW *win1; char vert = '.', hor = '.', str[80]; /* Initialize standard screen, turn echo off. */ initscr (); noecho (); /* Define a user window. */ win1 = newwin (22, 78, 1, 1); leaveok( win1, TRUE); leaveok (stdscr,TRUE); box (stdscr, vert, hor); /* Reset the video, refresh(redraw) both windows. */ mvwaddstr (win1, 2, 2, "Test line terminated input"); wrefresh (win1); /* Do some input and output it. */ nocrmode(); wgetstr (win1, str); mvwaddstr (win1, 5, 5, str); mvwaddstr (win1, 7, 7, "Type something to clear screen"); wrefresh (win1); /* Get another character then delete the window. */ wgetch (win1); wclear (win1); mvwaddstr (win1, 2, 2, "Test raw input"); wrefresh (win1); /* Do some raw input 5 chars or timeout - and output it. */ raw(); getstr (str); noraw(); mvwaddstr (win1, 5, 5, str); mvwaddstr (win1, 7, 7, "Raw input completed"); wrefresh (win1); endwin (); }