行编辑程序,请各位大哥大姐帮忙用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
功能:放弃并退出程序。 展开
对文本文件按行进行编辑:先从输入文件中读数据,然后根据行编辑命令处理,将结果写到输出文件中。
行编辑命令包括:
*L m, n
功能:显示第m至n行的文本
*I m
……
……
∧Z
功能:插入文本(……)在第m行后
*D m, n
功能:删除第m至n行的文本
*R m, n
……
……
∧Z
功能:将文本(……)替换第m行至n行的文本
*X
功能:保存并退出编辑程序。
*Q
功能:放弃并退出程序。 展开
1个回答
展开全部
你新建一个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++一行行的写,太复杂蚂知了。不值得。
//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++一行行的写,太复杂蚂知了。不值得。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询