|
藍森林 http://www.lslnet.com 2006年6月6日 10:18
curses的編輯器問題,請大俠幫我一下!!!!急!!!
我想做一個編輯器,可是當我編的時候就會報錯,說memory fault (dump....)
,我用fprintf()想把整個屏幕的字符當我按F1的時候就保存到一個文本中去,可是現在不行,請大俠幫我看一下,我等用!!! :( :(
#include<curses.h>;
void initial();
main()
{
FILE *fp;
char filename[10];
char value;
int ch;
int x=0;
int y=0;
int i=0;
int j=0;
wrefresh(stdscr);
move(x,y);
do{
ch=getch();
switch(ch)
{
case KEY_UP:--y;
break;
case KEY_DOWN:++y;
break;
case KEY_RIGHT:++x;
break;
case KEY_LEFT:--x;
break;
case '\r':++y;
x=0;
break;
case '\t':x+=7;
break;
case 127:
mvaddch(y,--x,' ');
break;
case KEY_F(1):
printf("please enter your filename:");
scanf("%s",filename);
fp=fopen(filename,"wb");
for(i=0;i<LINES;++i)
{
for(j=0;j<COLS;++j)
{
value=mvinch(i,j);
if (value==10)
{
++i;
j=0;
value=mvinch(i,j);
fprintf(fp,"%c",value);
}
else
value=mvinch(i,j);
fprintf(fp,"%c",value);
}
}
break;
case 27:
endwin();
exit(1);
default:
addch(ch);
x++;
break;
}
move(y,x);
}while(1);
}
void initial()
{
initscr();
cbreak();
nonl();
noecho();
keypad(stdscr,TRUE);
scrollok(stdscr,TRUE);
refresh();
} |
curses的編輯器問題,請大俠幫我一下!!!!急!!!
y--, ++ x--, ++不判斷不出負數? 其它的? |
| |