行编辑器c语言,简单的行编辑器(C语言)
簡(jiǎn)單的行編輯器
【要求】
(1) 設(shè)置一個(gè)簡(jiǎn)單的行編輯器,每行以回車結(jié)束
(2) 數(shù)據(jù)以文件形式存儲(chǔ)
(3) 編輯器具有查找、替換、修改數(shù)據(jù)的功能
2011-7-9。請(qǐng)把所有的注釋信息提取出來(lái)就可以寫程序設(shè)計(jì)報(bào)告。
#include /*標(biāo)準(zhǔn)文件流操作,這里使用了
open/fclose/fprintf/printf/scanf/gets函數(shù)*/
#include /*標(biāo)準(zhǔn)系統(tǒng)庫(kù),這里使用了malloc/free/exit*/
#include /*標(biāo)準(zhǔn)字符串庫(kù),這里使用strlen/strcpy/memcpy/memset*/ #define szLINE 252 /*定義一行字符串最長(zhǎng)為252字節(jié)*/
#define CMDS 12 /*定義12個(gè)標(biāo)準(zhǔn)行編輯命令*/
/*采用鏈表存儲(chǔ)文本*/
typedef struct LINE {
char text[szLINE]; /*文本內(nèi)容*/
struct LINE * next; /*鏈表指針*/
}L;
/*簡(jiǎn)寫無(wú)類型整數(shù)*/
typedef unsigned int U; /*定義12個(gè)行編輯命令的標(biāo)準(zhǔn)格式*/
typedef void (*FUNC)(L **, char*); /*定義12個(gè)標(biāo)準(zhǔn)行編輯命令的關(guān)鍵字*/ char keywords[CMDS][8]={
"quit", "help", "load", "save",
"view", "count", "append", "insert",
"erase", "edit", "lookup", "replace"
}; /*end keywords*/
/*清空鏈表操作*/
void clear(L ** lines)
{ L *a =0, *b=0;
if(!lines) return ;
a = *lines;
while(a) {
b=a->next ;
free(a);
a=b;
} /*end while*/
*lines=0;
} /*end clear*/
/*在鏈表中根據(jù)行號(hào)index調(diào)出指定的行*/
L *locate(L *lines, U index)
{ L *t=lines; U i = 0;
if(!t) return 0;
總結(jié)
以上是生活随笔為你收集整理的行编辑器c语言,简单的行编辑器(C语言)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 文本编辑器c语言设计,C语言实现简单的文
- 下一篇: 基于C语言实现一个文本编辑器