getcaps.c
来自「基于网络编程的例子」· C语言 代码 · 共 58 行
C
58 行
/* * getcaps.c - Get and show terminal capabilities using * terminfo data structures and functions */#include <stdlib.h>#include <stdio.h>#include <term.h>#include <curses.h>#define NUMCAPS 3int main(void){ int i; int retval = 0; char *buf; char *boolcaps[NUMCAPS] = { "am", "bce", "km" }; char *numcaps[NUMCAPS] = { "cols", "lines", "colors" }; char *strcaps[NUMCAPS] = { "cup", "flash", "hpa" }; if(setupterm(NULL, fileno(stdin), NULL) != OK) { perror("setupterm"); exit(EXIT_FAILURE); } for(i = 0; i < NUMCAPS; ++i) { retval = tigetflag(boolcaps[i]); if(retval == FALSE) { printf("`%s' unsupported\n", boolcaps[i]); } else { printf("`%s' supported\n", boolcaps[i]); } } fputc('\n', stdout); for(i = 0; i < NUMCAPS; ++i) { retval = tigetnum(numcaps[i]); if(retval == ERR) { printf("`%s' unsupported\n", numcaps[i]); } else { printf("`%s' is %d\n", numcaps[i], retval); } } fputc('\n', stdout); for(i = 0; i < NUMCAPS; ++i) { buf = tigetstr(strcaps[i]); if(buf == NULL) { printf("`%s' unsupported\n", strcaps[i]); } else { printf("`%s' is \\E%s\n", strcaps[i], &buf[1]); /*printf("`%s' is %s\n", strcaps[i], buf);*/ } } exit(EXIT_SUCCESS);}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?