LINUX 下無 getch() 函數(shù),這是一個模擬實現(xiàn)getch() 函數(shù)的源代碼.
標(biāo)簽: getch LINUX 函數(shù) 模擬
上傳時間: 2017-06-03
上傳用戶:alan-ee
詞法分析程序:一. 為PL/0語言建立一個詞法分程序GETSYM(函數(shù)) 把關(guān)鍵字、算符、界符稱為語言固有的單詞,標(biāo)識符、常量稱為用戶自定義的單詞。為此設(shè)置三個全程量:SYM,ID,NUM 。 SYM:存放每個單詞的類別,為內(nèi)部編碼的表示形式。 ID:存放用戶所定義的標(biāo)識符的值,即標(biāo)識符字符串的機內(nèi)表示。 NUM:存放用戶定義的數(shù)。 GETSYM要完成的任務(wù): 1. 濾掉單詞間的空格。 2. 識別關(guān)鍵字,用查關(guān)鍵字表的方法識別。當(dāng)單詞是關(guān)鍵字時,將對應(yīng)的類別放在SYM中。如IF的類別為IFSYM,THEN的類別為THENSYM。 3. 識別標(biāo)識符,標(biāo)識符的類別為IDENT,IDRNT放在SYM中,標(biāo)識符本身的值放在ID中。關(guān)鍵字或標(biāo)識符的最大長度是10。 4. 拼數(shù),將數(shù)的類別NUMBER放在SYM中,數(shù)本身的值放在NUM中。 5. 拼由兩個字符組成的運算符,如:>=、<=等等,識別后將類別存放在SYM中。 6. 打印源程序,邊讀入字符邊打印。 由于一個單詞是由一個或多個字符組成的,所以在詞法分析程序GETSYM中定義一個讀字符過程getch。
上傳時間: 2016-11-21
上傳用戶:小鵬
//建立窗口 win1 = newwin(15, 50, 1, 1) box(win1, ACS_VLINE, ACS_HLINE) mvwprintw(win1, 2,1, "WINDOW 1") mvwprintw(win1, 4,1, "Press any key switching to window 2") win2 = newwin(15, 40, 4, 20) box(win2, ACS_VLINE, ACS_HLINE) mvwprintw(win2, 2,1, "WINDOW 2") //建立子窗口 subwin = derwin(win2, 5, 25, 4, 5) box(subwin, ACS_VLINE, ACS_HLINE) mvwprintw(subwin, 2,1, "Sub Window of Window2") //刷新屏幕 refresh() wrefresh(win1) wrefresh(win2) touchwin(win1) wrefresh(win1) getch() touchwin(win2) mvwprintw(win2, 12,1, "Press any key to exit...") wrefresh(win2) //等待按鍵 getch() //結(jié)束 delwin(win1) delwin(subwin) delwin(win2) endwin()
標(biāo)簽: ACS_VLINE ACS_HLINE mvwprintw win
上傳時間: 2017-06-12
上傳用戶:plsee
//初始化 initscr() //獲得屏幕尺寸 getmaxyx(stdscr, h, w) //畫背景 for(i=0 i<h i++) for(j=0 j<w j++){ mvaddch(i, j, ACS_CKBOARD) } refresh() //建立窗口 pad = newpad(80, 128) for(i=0 i<80 i++){ char line[128] sprintf(line, "This line in pad is numbered d\n", i) mvwprintw(pad, i, 0, line) } //刷新屏幕 refresh() prefresh(pad, 0, 1, 5, 10, 20, 45) for(i=0 i<50 i++){ prefresh(pad, i+1, 1, 5, 10, 20, 45) usleep(30000) } //等待按鍵 getch()
標(biāo)簽: getmaxyx initscr stdscr for
上傳時間: 2014-08-30
上傳用戶:龍飛艇
#include "string.h" #include "ctype.h" #include "stdio.h" search(char pd[]) {FILE *fp; int time=0,i=0,j=0,add[80],k=0,m; char *ch, str[900]; m=strlen(pd); if((fp=fopen("haha.txt","r"))==NULL) { printf("Cannot open this file\n"); exit(0); } for(;!feof(fp);i++) { str[i]=fgetc(fp); if(tolower(str[i])==tolower(pd[k])) {k++; if(k==m) if(!isalpha(i-m)&&!isalpha((str[i++]=fgetc(fp)))) { time++; add[j]=i-m+1; j++; k=0; } else k=0; } } if(time) { printf("The time is:%d\n",time); printf("The adders is:\n"); for(i=0;i<j;i++) printf("%5d",add[i]); if(i%5==0) printf("\n"); getch(); fclose(fp); } else printf("Sorry!Cannot find the word(^_^)"); } main() { char pd[10],choose='y'; int flag=1; while(flag) {printf("In put the word you want to seqarch:"); scanf("%s",pd); search(strlwr(pd)); printf("\nWould you want to continue?(Y/N):"); getchar(); scanf("%c",&choose); if((tolower(choose))=='n') flag=0; else flag=1; } printf("Thanks for your using!Bye-bye!\n"); getch(); }
標(biāo)簽: 學(xué)生專用
上傳時間: 2016-12-29
上傳用戶:767483511
蟲蟲下載站版權(quán)所有 京ICP備2021023401號-1