一个非常小的例子,挺好玩的

    技术2024-07-25  18

    // simple curses example; keeps drawing the inputted characters, in columns // downward, shifting rightward when the last row is reached, and // wrapping around when the rightmost column is reached #include <curses.h> // required int r,c, // current row and column (upper-left is (0,0)) nrows, // number of rows in window ncols; // number of columns in window void draw(char dc) {     move(r,c); // curses call to move cursor to row r, column c     delch(); insch(dc); // curses calls to replace character under cursor by dc     refresh(); // curses call to update screen     r++; // go to next row     // check for need to shift right or wrap around     if (r == nrows)     {         r = 0;         c++;         if (c == ncols)             c = 0;     } } int main() {     int i; char d;     WINDOW *wnd;     wnd = initscr(); // curses call to initialize window     cbreak(); // curses call to set no waiting for Enter key     noecho(); // curses call to set no echoing     getmaxyx(wnd,nrows,ncols); // curses call to find size of window     clear(); // curses call to clear screen, send cursor to position (0,0)     refresh(); // curses call to implement all changes since last refresh     r = 0; c = 0;     while (1)     {         d = getch(); // curses call to input from keyboard         if (d == 'q') break; // quit?             draw(d); // draw the character     }     endwin(); // curses call to restore the original window and leave }

    最新回复(0)