编辑器的改进

此时此刻144

此时此刻144

2016-02-19 13:05

给自己一点时间接受自己,爱自己,趁着下午茶的时间来学习图老师推荐的编辑器的改进,过去的都会过去,迎接崭新的开始,释放更美好的自己。
注:续网友 hua 之后,网友 Linuxhero 在讨论区发布了他改进 hua 编写的编辑器程序,并消除了文件存储的乱码问题,本站测试了这个程序,效果不错,希望两位网友再接再励不断地把这个编辑器完善起来,同时也谢谢两位网友对非常空间的支持!
  
  -----------------------------------------------------------
  
  作者:linuxhero
  
  我的方法是对数组逐个附值,而不是采用串连接,消除了文件存储乱码的问题,同时还改进了删除的功能,下面是修改后的源代码:
  
  #includeunistd.h
  #includestdio.h
  #includecurses.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,i,net[2000],sizefile=0;
  /* net[2000] 中的2000为文件最大行数 */
  char name[200000]; /* 设置文件最大容量 */
  FILE *fp;
  
  if(argc==1 argc2) {
  printf("please input:./edit fileexit:Esc");
  }
  
  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(y1) --y;
  move(y,x);
  break;
  
  case KEY_DOWN:
  ++y;
  break;
  
  case KEY_RIGHT:
  ++x;
  break;
  
  case KEY_LEFT:
  if(x1) --x;
  break;
  
  case '':
  ++y;
  x=1;
  move(y,x);
  insertln();
  break;
  
  case '':
  x+=4;
  break;
  
  case KEY_BACKSPACE:
  if(x1) --x;
  move(y,x);
  /* 删除的控制 */
  if (x1) {
  delch();
  } else {
  addch(' ');
  }
  break;
  
  case KEY_DC:
  delch();
  break;
  
  case 27:
  fwrite(&name,sizeof(name),1,fp);
  endwin();
  /* 显示数组存储的内容 */
  printf("this is name:%s",name);
  exit(0);
  
  default:
  insch(ch);
  /* 将输入的字存入数组 */
  if (y==1) {
  name[x-1]=ch;
  name[x]='
展开更多 50%)
分享

猜你喜欢

编辑器的改进

编程语言 网络编程
编辑器的改进

UBB编辑器

Web开发
UBB编辑器

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

Word公式编辑器

电脑入门
Word公式编辑器

公式编辑器的进阶使用

电脑入门
公式编辑器的进阶使用

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

FCKeditor在线编辑器的使用

编程语言 网络编程
FCKeditor在线编辑器的使用

Word公式编辑器的安装

办公软件
Word公式编辑器的安装

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

jQuery Selector选择器小结

jQuery Selector选择器小结

win7窗口模式怎么样建立快捷方式

win7窗口模式怎么样建立快捷方式
下拉加载更多内容 ↓