行编辑程序,请各位大哥大姐帮忙用C++编一下,谢谢

行编辑程序对文本文件按行进行编辑:先从输入文件中读数据,然后根据行编辑命令处理,将结果写到输出文件中。行编辑命令包括:*Lm,n功能:显示第m至n行的文本*Im…………∧... 行编辑程序
对文本文件按行进行编辑:先从输入文件中读数据,然后根据行编辑命令处理,将结果写到输出文件中。
行编辑命令包括:
*L m, n
功能:显示第m至n行的文本
*I m
……
……
∧Z
功能:插入文本(……)在第m行后
*D m, n
功能:删除第m至n行的文本
*R m, n
……
……
∧Z
功能:将文本(……)替换第m行至n行的文本
*X
功能:保存并退出编辑程序。
*Q
功能:放弃并退出程序。
展开
 我来答
seuliu
2005-10-08 · TA获得超过995个赞
知道小有建树答主
回答量:548
采纳率:100%
帮助的人:389万
展开全部
你新建一个VC的SDI工程,Form的View采用CEditView,只要在菜单的打开和关闭函数上加上文件读、CEdit类指针的获取,和文件写的功能,就完成了,只要10分钟。由于大部分是向导完成的,贴代码没有意义,文件读写代码如下:
//in CMainFrm.h
CString s_Buf;
CEdit* pEdit;

//in CMainFrm.cpp/OnCreate()函数
pEdit=m_EditView.GetEdit();

//in CMainFrm.cpp/OnOpen()函数
CFile fl;
char* pBuf[101];
if(fl.Open("文件名",CFile::modeRead))
{
while(fl.Read(pBuf,100)==100)
{
s_Buf=sBuf+pBuf
}
s_Buf=sBuf+pBuf;
m_pEdit->SetWindowText(s_Buf);
}

//in CMainFrm.cpp/OnSave()函数
CFile fl;
int n=s_Buf.GetLength();
if(fl.Open("文件名",CFile::modeWrite))
{
fl.WriteHuge(s_Buf.GetBuffer(n+1),n);
s_Buf.ReleaseBuffer();
}
就搞定全部问题了

如果用纯C++一行行的写,太复杂了。不值得。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式