已完成光標(biāo)的處理控制,讓光標(biāo)只在編輯內(nèi)容的范圍內(nèi)移動。
源代碼 edit.c:
#include
#include
#include
#define STARTX 1
#define STARTY 1
/* 初始化 curses */
void initial()
{
initscr();
cbreak();
nonl();
noecho();
intrflush(stdscr,FALSE);
keypad(stdscr,TRUE);
refresh();
}
/* 內(nèi)容存儲數(shù)組結(jié)構(gòu) name */
struct {
char name[200000];
} edit;
int main(int argc,char *argv[])
{
int x=STARTX;
int y=STARTY;
int max[2000],ch,i,a,net[2000],sizefile=0;
char line[100];
FILE *fp;
if(argc==1 || argc>2) {
printf("please input:./edit file\\nexit edit:Esc\\n");
}
if(argc==2) {
fp=fopen(argv[1],"w");
initial();
//box(stdscr,ACS_VLINE,ACS_HLINE);
move(0,30);
printw("edit- %s",argv[1]);
refresh();
move(x,y);
do{
ch=getch();
switch(ch){
/* 上鍵的移動控制 */
case KEY_UP:
if(y>1) --y;
if(y==1 && x>net[1]) x=net[1]+1;
if(y>1 && x>net[y]) x=net[y];
move(y,x);
break;
/* 下鍵的移動控制 */
case KEY_DOWN:
if(net[y]>0) ++y;
if(net[y] if(net[y]<1) x=1; move(y,x); break;
2010年計算機等級考試二級公共基礎(chǔ)知識教程
2010年計算機等級考試二級C語言教程匯總
2010年全國計算機等考二級C:程序設(shè)計實戰(zhàn)匯總
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |