VC++6.0高手请进~~设计一个程序,将电脑里一个文本文档的内容读取到文本框。
我想知道的是如何将文本文档的内容导入到文本框,以及如何将编辑后的内容保存到一个名为newData.txt的文本中。
题目中的“文本框”应该指的是编辑框吧。可以只写下关键函数和代码。
可行的话我再追加50分。
你们的回答都对哦,怎么办。。。再去回答我的另一个关于程序的问题吧:
http://zhidao.baidu.com/question/202738116.html 展开
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 广告
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);
}
如果还有什么问题,可以留个邮箱,把程序发给你。加分啊,谢谢。