实例说明:
编辑一个简单的单行文本编辑器,编辑命令有以下几种:(E、Q、R、I、D)
只有自己在完全空白的情况下编写出来的程序,才是真正自己会的程序,现在所做的,不过是程序的搬运工,把书上的程序搬到网上,不过是添加了几句注释而已。
1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <string.h> 4 5 #define MAXLEN 80 //所处理文本一行最大字符个数 6 #define MAXLINE 200 //所处理文本最大行数 7 8 char buffer[MAXLEN]; //用来存储命令行输入的命令,以及命令所带的参数 9 char fname[120]; //用来存储所处理文件的文件名 10 char *lineptr[MAXLINE]; //行指针 11 FILE *fp; //文件指针 12 void edit(),replace(),insert(),delete(),quit(); //函数声明,具体的函数定义在后面 13 char comch[] = "EeRrIiDdQq"; //命令符 14 void(*comfun[])() = {edit,replace,insert,delete,quit}; //对应处理函数 15 int modified=0; //正文修改标志 16 int last; //当前正文行数 17 char *chpt; //输入命令行字符指针 18 19 20 int main() 21 { 22 int j; 23 last = 0; 24 25 while(1) 26 { 27 printf(" Input a command:[e,r,i,d,q]. "); 28 gets(buffer); //读入命令行 29 for(chpt=buffer; *chpt==' '||*chpt==' '; chpt++); //掠过空白符 30 if(*chpt=='