日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

行编辑器c语言,简单的行编辑器(C语言).doc

發布時間:2024/1/1 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 行编辑器c语言,简单的行编辑器(C语言).doc 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

簡單的行編輯器(C語言)

簡單的行編輯器

【要求】

(1) 設置一個簡單的行編輯器,每行以回車結束

(2) 數據以文件形式存儲

(3) 編輯器具有查找、替換、修改數據的功能

201-7-9。請把所有的注釋信息提取出來就可以寫程序設計報告。

typedef struct LINE {

char text[szLINE]; /*文本內容*/

struct LINE * next; /*鏈表指針*/

}L;

/*簡寫無類型整數*/

typedef unsigned int U; /*定義12個行編輯命令的標準格式*/

typedef void (*FUNC)(L **, char*); /*定義12個標準行編輯命令的關鍵字*/

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*/

/*在鏈表中根據行號index調出指定的行*/

L *locate(L *lines, U index)

{ L *t=lines; U i = 0;

if(!t) return 0;

if(index == 0) return t;

for(i=0; i

t=t->next;

if(!t) return 0;

}/*next*/

return t;

}/*end locate*/

/*瀏覽命令,如果f存在則以帶行號格式保存文件(如果f==stdout則打印到屏幕上),瀏覽范圍為from到to(行號)。view(lines, 0, 0, 0)表示統計已加載到內存的文本行數量*/

int view(L * lines, FILE * f, U from, U to)

{L *t=lines; U index=0;

while(t) {

index ++;

if(f && index >= from && index <= to) fprintf(f, "%d: %s", index, t->text);

t=t->next;

}/*end while*/

return index;

}/*end view*/

/*在當前文檔中根據關鍵字進行搜索,并將搜索結果打印出來*/

void lookup(L * lines, char * string)

{L *t=0; U index = 0;

if(!string) return ;

t=lines;

while(t) {

index ++;

if(strstr(t->text , string)) printf("%d: %s", index, t->text );

t=t->next;

}/*end while*/

}/*end lookup*/

/*在一行文本中執行替換命令,把所有關鍵字替換為新關鍵字*/

void rpc(char * string, char * key, char * replacement)

{ char fine[szLINE], *x=0, *y=0, *z=0;

int la=0, lb=0, r=0;

if(!string || !key || !replacement) return ;

memset(fine, 0, szLINE);

x=string; y=fine;

/*首先記錄新舊關鍵字長度*/

la=strlen(key);

lb=strlen(replacement);

do { /*用指針逐個比較*/

r = memcmp(x, key, la);

if(r){/*如果關鍵字不匹配則復制字符串*/

*y=*x;

x++; y++;

}else{/*如果關鍵字匹配則替換字符串*/

memcpy(y, replacement, lb);

x += la; y += lb;

}/*end if*/

}while(*x);

/*將替換完成的結果返回*/

memcpy(string, fine, szLINE);

}/*end rpc*/

/*全文替換*/

void replace(L * lines, char * string, char * replaceme

總結

以上是生活随笔為你收集整理的行编辑器c语言,简单的行编辑器(C语言).doc的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 人妻久久久一区二区三区 | 最新中文字幕第一页 | 长河落日电视连续剧免费观看01 | 久久伊人精品视频 | 日韩欧美www| 成人黄色电影在线 | 日韩视频一区在线观看 | 欧美成人午夜剧场 | 日韩电影中文字幕 | 香蕉av网| 国产资源网站 | 可以免费看的毛片 | 亚洲高清毛片一区二区 | 欧美精品video | 丁香色婷婷 | 艳妇乳肉亭妇荡乳av | 九九视频精品在线 | bt男人天堂 | 黄频在线看 | 国产在线观看免费av | 91午夜影院 | 中文字幕av一区二区三区 | 久久深夜 | 都市激情综合 | 国产精品女同 | 国产精品资源 | 亚洲干| 亚洲乱码在线 | 蜜臀在线观看 | 欧色丰满女同hd | 日韩精品免费一区二区夜夜嗨 | 日本午夜大片 | 亚洲国产精品成人av | www日本免费 | 亚洲自拍中文字幕 | 亚洲免费激情视频 | 精品欧美视频 | 美女扒开腿免费视频 | 国产第一页精品 | 特大黑人娇小亚洲女mp4 | 日韩激情国产 | 亚洲第6页 | 西西444www无码大胆 | 欧美专区一区 | 97激情| 国产丝袜美腿一区二区三区 | 国产高潮视频 | 成人av专区 | 久久久精彩视频 | 欧美色88 | 日韩精品视频在线观看网站 | 干日本少妇首页 | 亚洲春色在线 | 亚洲综合色站 | 亚洲图片在线观看 | 无码人妻丰满熟妇区五十路百度 | 国产精品2020| 嫩草嫩草嫩草嫩草嫩草 | 成人福利视频在线 | 一区二区三区天堂 | 神马午夜国产 | 国产馆av | 黄网站色视频免费观看 | 日韩av自拍| 亚洲理论片在线观看 | 亚洲AV无码阿娇国产精品 | 欧美片17c07.com | 日韩欧美成人免费视频 | а√天堂8资源在线官网 | 成人a视频在线观看 | 亚洲国产欧美一区 | 一级特黄aa大片欧美 | 欧美人妻日韩精品 | 灌篮高手全国大赛电影 | 天天碰视频| 91免费观看入口 | 女人喂男人奶水做爰视频 | 四虎网址在线观看 | 国产免费99| 亚洲精品在线观看免费 | 91看黄 | 日韩的一区二区 | 国产精品欧美久久久久天天影视 | 中文字幕蜜臀 | 欧美黑人巨大xxx极品 | 成人黄色一级 | 性欧美18一19性猛交 | 巨乳动漫美女 | 日韩诱惑 | 国产乱码精品一区二区三区忘忧草 | 伊人青青久 | 国产正在播放 | 河北彩花中文字幕 | 色一情一乱一伦一区二区三区 | 久草这里只有精品 | 国产操操操| 午夜亚洲aⅴ无码高潮片苍井空 | 亚洲精品无码久久久久久久 | 精品伦一区二区三区 |