7-42 行编辑器 (10 分)

简介: 7-42 行编辑器 (10 分)

7-42 行编辑器 (10 分)


一个简单的行编辑程序的功能是:接受用户从终端输入的程序或数据,并存入用户的数据区。 由于用户在终端上进行输入时,不能保证不出差错,因此,若在编辑程序中,“每接受一个字符即存入用户数据区”的做法显然不是最恰当的。较好的做法是,设立一个输入缓冲区,用以接受用户输入的一行字符,然后逐行存入用户数据区。允许用户输入出差错,并在发现有误时可以及时更正。例如,当用户发现刚刚键入的一个字符是错的时,可补进一个退格符"#",以表示前一个字符无效; 如果发现当前键入的行内差错较多或难以补救,则可以键入一个退行符"@",以表示当前行中的字符均无效。 如果已经在行首继续输入'#'符号无效。


输入格式:


输入一个多行的字符序列。但行字符总数(包含退格符和退行符)不大于250。


输出格式:


按照上述说明得到的输出。


输入样例1:


在这里给出一组输入。例如:


whli##ilr#e(s#*s)


尾无空行


输出样例1:


在这里给出相应的输出。例如:


while(*s)


结尾无空行


输入样例2:


在这里给出一组输入。例如:


outcha@putchar(*s=#++);



结尾无空行


输出样例2:


在这里给出相应的输出。例如:


putchar(*s++);


结尾无空行


#include<iostream>
using namespace std;
int main(){
    string s;
    while(getline(cin,s)){
        int k=0;
        char a[80];
        for(int i=0;i<s.size();i++){
            if(s[i]=='#'&&k==0)continue;
            else if(s[i]=='#')k--;
            else if(s[i]=='@')k=0;
            else a[k++]=s[i];
        }
        for(int i=0;i<k;i++)cout<<a[i];
        cout<<endl;
    }
    return 0;
}
目录
相关文章
|
Unix Shell Linux
Vim技能修炼教程(6) - 行编辑器
vi其实就是行编辑器ex的全屏模式
1942 0
|
存储 Linux 编译器
vim编辑器和gcc/g++编辑器的使用讲解
vim编辑器和gcc/g++编辑器的使用讲解
290 2
|
Linux 编译器 开发工具
Linux:详解(yum的使用、vim编辑器命令集合以及gcc/g++编译器的使用)
Linux:详解(yum的使用、vim编辑器命令集合以及gcc/g++编译器的使用)
294 1
|
开发工具
vi编辑器,现在vi\vim是文本文件进行编辑的最佳选择,Vim是vi的加强的版本,兼容vi的所有指令,vim编辑器有三种工作模式,一开始进入的是命令模式,命令模式i是插入的意思,两下y+p复制内容
vi编辑器,现在vi\vim是文本文件进行编辑的最佳选择,Vim是vi的加强的版本,兼容vi的所有指令,vim编辑器有三种工作模式,一开始进入的是命令模式,命令模式i是插入的意思,两下y+p复制内容
|
开发工具
Vim 编辑器:高效文本编辑的瑞士军刀
**Vim 概览:** Vim 是一个功能丰富的文本编辑器,以其高度可定制性著称。文章介绍了 Vim 的高效使用技巧,包括快捷打开文件、命令行模式下的常用命令、查找与替换、删除和复制文本。还讨论了配置 `.vimrc` 文件以自定义设置,如改变 leader 键、设置缩进和高亮,并展示了安装插件如 vim-airline 和 vim-snazzy 的方法。通过这些技巧,用户能提升 Vim 使用效率。
251 5
|
Ubuntu 搜索推荐 Linux
Linux的Vim编辑器详解
Linux的Vim编辑器详解
|
弹性计算 Unix Linux
Linux:文本编辑器 - vim
Linux:文本编辑器 - vim
139 1
|
Linux 开发工具 数据安全/隐私保护
【linux】如何优雅的使用vim编辑器
【linux】如何优雅的使用vim编辑器

热门文章

最新文章

下一篇
开通oss服务