VC++6.0高手请进~~设计一个程序,将电脑里一个文本文档的内容读取到文本框。

设计实现一个对话框程序,实现如下功能:对话上有一文本框(多行显示模式),三个按钮(打开、存储、退出),可实现通过单击“打开”按钮,将电脑中一文本文件中的文字信息导入文本框... 设计实现一个对话框程序,实现如下功能: 对话上有一文本框(多行显示模式),三个按钮(打开、存储、退出),可实现通过单击“打开”按钮,将电脑中一文本文件中的文字信息导入文本框中显示,我们可以对文本框中的文本信息进行编辑,单击“存储”后将数据存入当前目录下的newData.txt文件中。
我想知道的是如何将文本文档的内容导入到文本框,以及如何将编辑后的内容保存到一个名为newData.txt的文本中。
题目中的“文本框”应该指的是编辑框吧。可以只写下关键函数和代码。
可行的话我再追加50分。
你们的回答都对哦,怎么办。。。再去回答我的另一个关于程序的问题吧:
http://zhidao.baidu.com/question/202738116.html
展开
 我来答
he702477275
2010-12-11 · 超过34用户采纳过TA的回答
知道答主
回答量:147
采纳率:0%
帮助的人:122万
展开全部

void open()//打开

{

 CString Filter;

 int tempPlay=-2;

 Filter = "文本文件 (*.*)|*.txt;||";

 CFileDialog FileDlg (TRUE, NULL, NULL, OFN_ALLOWMULTISELECT, Filter);

 if (FileDlg.DoModal ()==IDOK)

 {

    POSITION post;

    post=FileDlg.GetStartPosition();

          CString str=FileDlg.GetNextPathName(post);

    CFile file;

    file.Open(str,CFile::modeCreate|CFile::modeNoTruncate|CFile::modeRead);

    char temp;

    while(file.Read(&temp,1)) m_text+=temp;

    file.Close();

    UpdateData(FALSE);

 }

}

void save()//保存

{

 CFile file;

 file.Open("newData.txt",CFile::modeCreate|CFile::modeWrite);

 UpdateData(TRUE);

 file.Write(m_text,m_text.GetLength());

 file.Close();

}

PostQuitMessage(WM_CLOSE); //关闭

m_text 为文本框的关联变量。

名片
2024-10-28 广告
Altair HyperWorks是一套功能强大的集成化CAE(计算机辅助工程)软件平台,由Altair公司开发。它涵盖了结构分析、流体动力学、优化、多体动力学、电磁场仿真等多个领域,提供了丰富的仿真工具和优化算法。HyperWorks以其... 点击进入详情页
本回答由名片提供
测绘地理信息
2010-12-11 · TA获得超过2204个赞
知道小有建树答主
回答量:516
采纳率:100%
帮助的人:472万
展开全部
“文本框”指的就是编辑框,令其ID为IDC_EDIT_TEXT,风格设为“多行”“水平滚动”“垂直滚动”“自动水平滚动”“自动垂直滚动”。添加“打开”和“存储”按钮的消息响应函数,代码如下:

void CTxtEditDlg::OnBtnOpen()
{
// TODO: Add your control notification handler code here
CString strPath;
CFileDialog ofDlg(TRUE, NULL, NULL, 0, "文本文件 (*.txt)|*.txt|所有文件 (*.*)|*.*||");
if (ofDlg.DoModal() != IDOK) return;
strPath = ofDlg.GetPathName();

CString strText;
FILE* fp = fopen(LPCTSTR(strPath), "r");
char buf[256];
while(fgets(buf, sizeof(buf), fp) != NULL)
{
for (int i=0; i<256; i++)
{
// 回车符转换为回车换行符
if (buf[i] == 10 && buf[i-1] != 13)
{
buf[i] = 13;
buf[i+1] = 10;
buf[i+2] = 0;
break;
}
}
strText += buf;
}
fclose(fp);

GetDlgItem(IDC_EDIT_TEXT)->SetWindowText(strText);
}

void CTxtEditDlg::OnBtnSave()
{
// TODO: Add your control notification handler code here
CString strText;
GetDlgItem(IDC_EDIT_TEXT)->GetWindowText(strText);

FILE* fp = fopen("newData.txt", "w");
fprintf(fp, "%s", strText);
fclose(fp);
}

如果还有什么问题,可以留个邮箱,把程序发给你。加分啊,谢谢。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式