/* 前刪除控制 */
case KEY_BACKSPACE:
if (y==1) {
for (i=(x-2);i edit.name[i]=edit.name[i+1]; } edit.name[strlen(edit.name)]='\\0'; net[1]=net[1]-1; } else { for (i=1;i sizefile=net[i]+sizefile; } for(i=(sizefile+x-1);i edit.name[i]=edit.name[i+1]; } edit.name[strlen(edit.name)]='\\0'; net[y]=net[y]-1; sizefile=0; } if(x>1) --x; move(y,x); if (x>1) { delch(); } else { addch(' '); } break; case KEY_DC: if (y==1) { for (i=(x-1);i<=strlen(edit.name);i++) { edit.name[i]=edit.name[i+1]; } edit.name[strlen(edit.name)]='\\0'; net[1]=net[1]-1; } else { for (i=1;i sizefile=net[i]+sizefile; } for(i=(sizefile+x);i edit.name[i]=edit.name[i+1]; } edit.name[strlen(edit.name)]='\\0'; net[y]=net[y]-1; sizefile=0; } delch(); break; /* 'Esc' 鍵退出存檔控制 */ case 27: fwrite(&edit.name,sizeof(edit.name),1,fp); endwin(); printf("name:%s\\n",edit.name); exit(0); /* 字符輸入控制 */ default: insch(ch); if (y==1) { if(x<=net[1]) { for (i=strlen(edit.name);i>=(x-1);i--) { edit.name[i+1]=edit.name[i]; } edit.name[strlen(edit.name)+1]='\\0'; edit.name[x-1]=ch; max[1]=net[1]+1; } else { edit.name[x-1]=ch; } } else { for(i=1;i sizefile=net[i]+sizefile; } if (x<=net[y]) { for (i=strlen(edit.name);i>=(sizefile+x);i--) { edit.name[i+1]=edit.name[i]; } edit.name[strlen(edit.name)+1]='\\0'; edit.name[sizefile+x]=ch; max[y]=net[y]+1; } else { edit.name[sizefile+x]=ch; } sizefile=0; } if (max[y]<=x) { max[y]=x; } net[y]=max[y]; x++; break; } move(y,x); }while(1); } } 同時還為該程序編寫了個簡單的 Makefile 文檔: Myapp: edit.o gcc -o edit edit.o -lncurses edit.o: edit.c gcc -I/usr/include/ncurses edit.c -c clean: rm *.o [1]
2010年計算機等級考試二級公共基礎(chǔ)知識教程
2010年計算機等級考試二級C語言教程匯總
2010年全國計算機等考二級C:程序設(shè)計實戰(zhàn)匯總
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |