分享
 
 
 

完善编辑器雏形

王朝other·作者佚名  2008-06-01
窄屏简体版  字體: |||超大  

注:这是本站网友 hua 在非常论坛发布的,看完后我们非常感动,在这个网友身上我们看到了自由软件的精神,他在本站发布的编辑器雏形的基础上扩展了源代码,并加入了文件存储功能,本站把这篇文章在文章区发布出来,希望有更多有爱好的网友共同研究扩展这个还不完善的编辑器.

源程序没加注释,本站在扩展的部分加上了注释.

-----------------------------------------------------------

作者:hua

完成这个程序的时候,心里有些激动,但是在存档文件中的开头总是有乱码存在,我想可能是数组设置的问题,不过并不影响文件的存储,下面是我扩展的源代码:

edit.c:

#include<unistd.h>

#include<stdio.h>

#include<curses.h>

#define STARTX 1

#define STARTY 1

void initial()

{

initscr();

cbreak();

nonl();

noecho();

intrflush(stdscr,FALSE);

keypad(stdscr,TRUE);

refresh();

}

int main(int argc,char *argv[])

{

int x=STARTX;

int y=STARTY;

int ch;

char name[200],eput,net[1]; /* 设置字符变量 */

FILE *fp; /* 设置文件指针 */

if(argc==1 argc>2) {

printf("please input:./edit file\nexit:Esc\n");

}

}

/* 上面是判定输入情况的,当输入参数为 1 或大于 2 时,打印 "please input:./edit file\nexit: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;

move(y,x);

break;

case KEY_DOWN:

++y;

break;

case KEY_RIGHT:

++x;

break;

case KEY_LEFT:

if(x>1) --x;

break;

case 'r':

++y;

x=1;

move(y,x);

insertln();

break;

case 't':

x+=4;

break;

case KEY_BACKSPACE:

if(x>1) --x;

move(y,x);

addch(' ');

break;

case KEY_DC:

delch();

break;

case 27:

/* 当按 Esc 时,存储文件并退出程序 */

fwrite(&name,sizeof(name),1,fp);

endwin();

exit(0);

default:

insch(ch);

eput=ch;

/* 这里作者用了些技巧,将整型的变量附值给字符变量,在这应该理解为直接获取字符的 ASCII 码 */

sprintf(net,"%c",eput);

/* 将字符放入 net[1] 内 */

strcat(name,net);

/* 连接 name 和 net 的内容,并把内容放入 name 数组中 */

x++;

break;

}

move(y,x);

}while(1);

}

}

上面用的代码是在贵站非常文章上发表的编辑器雏型的基础上扩展的,其中结合从贵站学到的文件存取知识发展而来的,虽然漏洞很多,但是我相信它经过不停的改进,最终会成为一个出色的功能强大的编辑器.

同时想到一个人的能力有限,只有集合大家力量才能使功能更加的完善,所以在这儿把源代码贴出,希望各路好手共同完善这个程序.

也非常感谢非常空间,让我学到了很多的知识,谢谢!

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有