您好,欢迎光临本网站![请登录][注册会员]  
文件名称: 简单行编辑.zip
  所属分类: C/C++
  开发工具:
  文件大小: 28kb
  下载次数: 0
  上传时间: 2019-10-31
  提 供 者: qq_41******
 详细说明:[ 问题描述 ] 文本编缉程序是计算机文字加工的基本软件工具,实现对文本文件的插入、删除等修改操作。限制这些操作以行为单位进行的编辑程序称为行编辑程序。被编缉的文本文件可能很大,,全部读入编缉程序的数据空间( 内存 )的作法既不经济, 也不总能实现。一种解决方法是逐段地编缉。任何时刻只把待编缉文件的一段放在内存, 称为活区。试按照这种方法实现一个简单的行编辑程序。设文件每行不超过 320 字符, 很少超过 80 字符。 [ 基本要求 ] 实现以下 4 条基本编缉命令: (1) 行插入。格式:i<行号><回车><文本>.<回车> 将<文本>插入活区中第<行号>行之后。 (2) 行删除。格式:d<行号 1>[ <行号 2>]<回车> 删除活区中第<行号 1>行(到第<行号 2>)。两种格式的例子是: "d10<回车>" 和 "d10 14<回车>"。 (3) 活区切换。格式:n<回车> 将活区写入输出文件,并从输入文件中读入下一段,作为新的活区。 (4) 活区显示。格式:p<回车> 逐页地(每页 20 行)显示活区内容, 每显示一页内容之后请用户决定是否继续显示以后各页( 如果存在 ), 印出的每一行要前置以行号和一个空格符, 行号固定占四位,增量为一.各条命令中的行号均需在活区中各行行号范围之内, 只有插入命令的行号可以等于活区第一行行号减一, 表示插入当前屏幕中第一行之前,否则命令参数非法。 [ 测试数据 ] 此略。 [ 实现提示 ] (1) 设活区的大小用行数 activemaxlen(可设为 100) 来描述。考虑到文本文行长通常为正态分布, 且峰值在 60 到 70 之间, 320×activemaxlen 大小的字符数组实现存储将造成极大浪费。可以以标准行块为单位为各行分配存储, 每个标准行块可含 81 个字符。这些行块可以组成一个数组, 也可以利用动态链表连接起来。一行文字可能占多个行块。行尾可用一个特殊的 ASCII 字符[如(012) ]标识。此外, 还应该记住活区起始行号。行插入将引起随后各行行号的顺序下推。 (2) 初始化过程包括: 请用户提供输入文件名(空串表示无输入文件)和输出文件名,两者不能相同。然后尽可能多地从输入文件中读入各行, 但不超过activemaxlen-x.x 的值可以自定, 例如 20。 (3) 在执行行插入命令的过程中 ,每接收到一行时都要检查活区大小是否已达activemaxlen, 应将插入点之前的活区部分中第一行输出到输出文件中; 若插入点为第一行之前, 则只得将新插入的这一行输出。 (4) 若输入文件尚未读完, 活区切换命令可将原活区中最后几行留在活区顶部,以保持阅读连续性; 否则, 它意味着结束编缉或开始编缉另一个文件。 (5) 可令前三条命令执行后自动调用活区显式。 [选作内容] (1) 对于命令格式非法等一切错误作严格检查和适当处理。 (2) 加入更复杂的编缉操作, 如对某行进行串替换; 在活区内进行模式匹配等,格式可以为:S<行号><串 1><串 2><回车>和 m<串><回车>。
(系统自动生成,下载前可以参看下载内容)

下载文件列表

相关说明

  • 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
  • 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度
  • 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
  • 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
  • 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
  • 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.
 相关搜索: 简单行编辑.zip
 输入关键字,在本站1000多万海量源码库中尽情搜索: