int main(int argc, char *argv[]) { tty_mode(0); set_cr_noecho_mode(); initscr(); clear(); signal(SIGINT, sigint_handler); signal(SIGIO, on_input); /* install input handler */ setup_aio_buffer(); /* initialize aio ctrl buff */ aio_read(&kbcbuf); /* place a read request */ signal(SIGALRM, on_alarm); /* install alarm handler */ set_ticker(delay); /* start ticking */ move(row, col); addstr(MSG); while (!done) { pause(); } tty_mode(1); endwin(); return 0; }
int main (int argc, char * argv[]) { FILE *fp; tty_mode(ZERO); no_echo_mode(); signal(SIGINT, ctrl_c); signal(SIGQUIT, SIG_IGN); if(argc > 2) ctrl_c(); if(argc == 1) { printf("Type ^c to quit\n"); do_more_stdin(stdin); }else{ if((fp = fopen(argv[ONE], "r")) != NULL) { find_num_of_lines(fp); fileName = argv[ONE]; do_more(fp); fclose(fp); } } tty_mode(NORM); return SUCCESS; }
int printFile (const char* fileName) { FILE* file; file = fopen(fileName,"r"); if (!file) { perror("unable to open file"); return -1; } tty_mode(0); int i = 0; int usrinput; printfile(file); printf("\033[7m"); printf("%s",fileName); printf("\033[m"); setNodelay(); while((usrinput = fgetc(stdin))!= 'q' && fgetc(file) != EOF) { if(usrinput == ' '){ printf("\b \b"); printfile(file); } else if(usrinput == '\n'){ printline(file); } } tty_mode(1); if (fclose (file)) { perror("unable to close file"); return -1; } return 0; }
int main(int argc, char *argv[]) { tty_mode(0); // save tty mode set_cr_noecho_mode(); int response = get_response(QUESTION); tty_mode(1); // reload tty mode return response; }
int main(int argc, char *argv[]) { FILE *fp; char *pFileName; tty_mode(0); set_tty_mode(); if (argc == 1) { do_more(stdin); } else { while(--argc > 0) { pFileName = *++argv; if ((fp = fopen(pFileName, "r")) > 0) { do_more(fp); } else { fprintf(stderr, "Open file %s error, errno = %d\n", pFileName, errno); } } } tty_mode(1); return 0; }
int main(void) { tty_mode(0); // save tty mode set_timeout_mode(); set_cr_noecho_mode(); int response = get_response(QUESTION); tty_mode(1); // reload tty mode return response; }
int main() { int response; tty_mode(0); // save tty mode set_crmode(); // set chr-by-chr mode response = get_response(QUESTION); tty_mode(1); // restore tty mode return response; }
int main() { int response; tty_mode(0); set_crmode(); response = get_response(QUESTION); tty_mode(1); return response; }
int main(void) { int response; tty_mode(0); set_cr_noecho_mode(); set_nodelay_mode(); response = get_response(ASK, TRIES); tty_mode(1); return response; }
main() { int response; tty_mode(0); /* save tty mode */ set_crmode(); /* set chr-by-chr mode */ response = get_response(QUESTION); /* get some answer */ tty_mode(1); /* restore tty mode */ return response; }
main() { int response; tty_mode(0); set_cr_noecho_mode(); /* set -icanon, -echo */ set_nodelay_mode(); /* noinput => EOF */ response = get_response(ASK, 3); /* get some answer */ tty_mode(1); /* restore tty state */ return response; }
void f(int signum) { int response; tty_mode(0); set_crmode(); response = get_response("interrupted! OK to quit(y/n)? "); tty_mode(1); if(response == 0) exit(0); }
main() { int response; tty_mode(0); /* save current mode */ set_input_mode(TIMEOUT); /* -icanon -echo vtime */ response = get_response(ASK); /* get some answer */ tty_mode(1); /* restore orig mode */ putchar('\n'); return response; }
int main(int argc, char *argv[]) { int response; tty_mode(0); set_cr_noecho_mode(); set_nodelay_mode(); signal(SIGINT, ctrl_c_handler); signal(SIGQUIT, SIG_IGN); response = get_response(ASK, TRIES); tty_mode(1); return response; }
int main(void) { tty_mode(0); // save tty mode signal(SIGINT, signal_handler); signal(SIGQUIT, signal_handler); signal(SIGTERM, signal_handler); set_cr_noecho_mode(); int c; int line_len = 0; struct termios term; tcgetattr(0, &term); char erase_c = term.c_cc[VERASE]; char line_erase_c = term.c_cc[VKILL]; while ((c = getchar()) != EOF) { if (c == ' ') { putchar(' '); line_len++; } if (c == '\n') { puts("\r"); line_len = 0; } if (c == erase_c) { fputs("\b \b", stdout); line_len--; } if (c == line_erase_c) { while (line_len != 0) { fputs("\b \b", stdout); line_len--; } } if (c == 'Q') { tty_mode(1); exit(EXIT_SUCCESS); } if (islower(c)) { if (c == 'z') c = 'a'; else c++; putchar(c); line_len++; } } tty_mode(1); return EXIT_SUCCESS; }
int main() { int response; tty_mode(0); set_cr_noecho_mode(); set_nodelay_mode(); signal( SIGINT, ctrl_c_handler ); signal( SIGQUIT, SIG_IGN ); response = get_response( QUESTION, TRIES ); tty_mode(1); return response; }
main() { int response; void ctrl_c_handler(int); tty_mode(0); set_cr_noecho_mode(); set_nodelay_mode(); signal(SIGINT, ctrl_c_handler); response = get_response(ASK, TRIES); tty_mode(1); return response; }
int main(int argc, char *argv[]) { int res; tty_mode(0); /* save tty mode */ set_cr_noecho_mode(); /* set -icanon, -echo */ set_nodelay_mode(); /* no input == EOF */ res = get_response(QUESTION, TRIES); tty_mode(1); /* restore tty mode */ return res; }
main() { int response; void ctrl_c_handler(int); tty_mode(0); /* save current mode */ set_cr_noecho_mode(); /* set -icanon, -echo */ set_nodelay_mode(); /* noinput => EOF */ signal( SIGINT, ctrl_c_handler ); /* handle INT */ signal( SIGQUIT, SIG_IGN ); /* ignore QUIT signals */ response = get_response(ASK, TRIES); /* get some answer */ tty_mode(1); /* reset orig mode */ return response; }
int main() { welcom(); tty_mode(0);//储存TTY的模式 initscr(); crmode(); noecho(); clear(); box(stdscr,'|','-'); mvaddch(pos_x,pos_y,BALL); bpos_x=LINES-4; bpos_y=4; mvaddstr(bpos_x,bpos_y,BAN); move(LINES-1,COLS-1); //移动光标到右下角 refresh(); signal(SIGALRM,jmove); delay=50; //200ms=0.2s if(set_ticker(delay) == -1) perror("set_ticker"); else while(1) { ndelay = 0; c=getch(); if(c=='Q') break; if(c=='f' && delay > 2) ndelay = delay/2; if(c=='s') ndelay = delay*2; if(c==' ') bdir_y=-bdir_y; if(ndelay > 0) set_ticker (delay = ndelay); //重置定时器 } }
void sigint_handler(int sig) { tty_mode(1); set_ticker(0); endwin(); exit(0); }
int main() { int c; tty_mode(0); /* store it */ set_cr_noecho_mode(); /* set -icanon, -echo */ while ( ( c=getchar() ) != EOF && c != 'Q' ){ if ( c == 'z' ) c = 'a'; else if (islower(c)) c++; putchar(c); } tty_mode(1); /* restore it */ return 0; }
void ctrl_c_handler(int signum) { /* * purpose: called if SIGINT is detected. * action: reset tty and scram */ tty_mode(1); exit(1); }
int main(int argc, char **argv) { FILE *fp; tty_mode(0); rowCol(); if (argc == 1){ do_more(stdin); }else{ set_cr_noecho_mode(); while(--argc){ if ((fp = fopen(*++argv,"r")) != NULL){ do_more(fp); fclose(fp); }else{ exit(1); }//if }//while } tty_mode(1); return 0; }
int main() { tty_mode(0); signal(SIGQUIT, SIG_IGN); signal(SIGINT, ctrl_c_handler); set_crmode(); // set_nodelay_mode(); int ret; ret = atexit(exit_reset_mode); if(ret != 0) { perror("atexit"); exit(1); } do_io(); }
void jmove() { pos_xo=pos_x; pos_yo=pos_y; bpos_xo=bpos_x; bpos_yo=bpos_y; if(pos_x==(LINES-5)&&pos_y>(bpos_y-1)&&pos_y<(bpos_y+11)) { scores+=5; dir_x=-dir_x;//碰到挡板就反向 } if(pos_x<2) dir_x=-dir_x; /*if((pos_x<2)||(pos_x>LINES-3)) dir_x=-dir_x;*/ if((pos_y<2)||(pos_y>COLS-3)) dir_y=-dir_y; pos_x+=dir_x; pos_y+=dir_y; mvaddch(pos_xo,pos_yo,BALL_BLANK); mvaddch(pos_x,pos_y,BALL); if(pos_x>LINES-1) { tty_mode(1);//恢复tty的模式,否则退出程序后,终端没有回显功能,因为这个程序把终端的属性修改了 if(scores==0) printf("\nScores:%d\nCome on kid,try again!\n",scores); else if(scores>=5&&scores<20) printf("\nScores:%d\nYou did good job!\n",scores); else if(scores>=20&&scores<40) printf("\nScores:%d\nGreat,have I told you how to do this?\n",scores); else if(scores>=40&&scores<60) printf("\nScores:%d\nYou are genius,congratulations!\n",scores); else if(scores>=60) printf("\nScores:%d\nI love you so much:)!\n",scores); exit(0); } //挡板的移动 if(bpos_y<3||bpos_y==3||bpos_y>COLS-12) bdir_y=-bdir_y; bpos_y+=bdir_y; mvaddstr(bpos_xo,bpos_yo,BAN_BLANK); mvaddstr(bpos_x,bpos_y,BAN); //光标放在右下角 move(LINES-1,COLS-1); refresh(); }
void signalResponse(int value){ tty_mode(1); printf("terminal settings restored terminating..."); exit(0); }
extern void signal_handler(int signum) { tty_mode(1); exit(2); }
void ctrl_c () { tty_mode(NORM); exit(FAILED); }
void ctrl_c_handler(int signum) { tty_mode(1); exit(1); }