Linux下基于curses的一个简单例程

最近在Linux下写了一个curses的一个应用程序,感觉不错。使用起来比较方便。大部分都是调用curses的库函数。下面是我使用的例子源码:
#include    
#include    
#include      
#include       
#include    
#include    
 
 
#define StartX  1
#define StartY  1
 
void initial(void)
{
initscr();
  cbreak();
  nonl();
  noecho();
  intrflush(stdscr,FALSE);
  keypad(stdscr,TRUE);
  refresh();
}
 
int main(int argc, char **argv)
{
int x=StartX;
  int y=StartY;
  int ch;
 
 
initial();
  box(stdscr,'|','-');
  attron(A_REVERSE);
  mvaddstr(0,40,"My Curses Program");
  attroff(A_REVERSE);
  move(x,y);
  do {
        ch=getch();
    switch(ch) {
            case KEY_UP:
                --y;
                break;
            case KEY_DOWN:
                ++y;
                break;
            case KEY_RIGHT:
                ++x;
                break;
            case KEY_LEFT:
                --x;
                break;
            case '\r':
                ++y;
                x=1;
                break;
            case '\t':
                x+=7;
                break;
            case 127://判断是否 BACKSPACE
                mvaddch(y,--x,' ');
        break;
      case 27://[ESC]键
          endwin();
          exit(1);
          break;
      default:
                addch(ch);
                x++;
                if(x == 99) {
                    x=1;
                    y++;
                }
                break;
        }
    move(y,x);
    } while (1);
  exit(1);
}

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wzwwpw.html