MFC读取TXT文件,写入编辑框

MFC读取TXT文件,写入编辑框我的思路是把txt的内容读到一个数组中,然后调入编辑框中显示,txt文件从文件夹对话框中选择,望MFC的高手能帮我写一下代码。!不胜感激。问题补充:我是这样写的,但是运行后可以读出,并显示,可显示的内容和TXT的内容不一样,只有部分一样,或者多或者少。
void CSerialKF1View::OnFileOpen()
{
// TODO: Add your command handler code here
CFileDialog fileDlg(TRUE);
if(fileDlg.DoModal() == IDOK)
{
CString str = fileDlg.GetFileName();
FILE* pfile = fopen( str, "r" ); // 打开文件
TCHAR szBuf[MAX_PATH];
fread( szBuf, 1, MAX_PATH, pfile ); // 读取文件
GetDlgItem( IDC_SEND )->SetWindowText( szBuf ); // 写控件
fclose( pfile ); // 关闭文件
}

}

提问者: 眀天佉要飯 - 助理 二级

最佳答案

CFileDialog fileDlg(TRUE);
if(fileDlg.DoModal() == IDOK)
{
CString str;
CFile f;
f.Open(fileDlg.GetFileName(),CFile::modeReadWrite);
f.Read(str.GetBuffer(f.GetLength()),f.GetLength());
f.close();
GetDlgItem( IDC_SEND )->SetWindowText( str);
}

回答者:6908270270 - 经理 五级 6-7 20:35提问者对于答案的评价:好使,只是有个错的f.close()函数应该是f.Close(),应该大写,呵呵。
非常感谢你,谢谢。您觉得

最佳答案

好不好?    目前有 0 个人评价     共 4 条 CFileDialog fileDlg(TRUE);
if(fileDlg.DoModal() == IDOK)
{
CString str = fileDlg.GetFilePath();

}
这个就是你要的打开文件的对话框.
得到路径后其他的参考楼上的代码.

回答者:jill0908 - 同进士出身 六级 6-7 14:42

FILE* pfile = fopen( "c://a.txt", "r" ); // 打开文件
TCHAR szBuf[MAX_PATH];
fread( szBuf, 1, MAX_PATH, pfile ); // 读取文件
GetDlgItem( ID_EDIT )->SetWindowText( szBuf ); // 写控件
fclose( pfile ); // 关闭文件

补充:

改成GetPathName

void CSerialKF1View::OnFileOpen()
{
// TODO: Add your command handler code here
CFileDialog fileDlg(TRUE);
if(fileDlg.DoModal() == IDOK)
{
CString str = fileDlg.GetPathName();
FILE* pfile = fopen( str, "r" ); // 打开文件
TCHAR szBuf[MAX_PATH];
fread( szBuf, 1, MAX_PATH, pfile ); // 读取文件
GetDlgItem( IDC_SEND )->SetWindowText( szBuf ); // 写控件
fclose( pfile ); // 关闭文件
}

}

回答者:
(点小图查看大图)
点击图片看大图
(点小图查看大图)
点击图片看大图 Sadusaga - 高级魔法师 六级 6-7 16:39

CFile file;
if(!file.Open(filename,CFile::modeCreate|CFile::modeWrite))
{
CString msg("Can't open "+filename+"/nCheck the filename.");
MessageBox(NULL,msg,"Stock",MB_ICONEXCLAMATION|MB_OK);
}
else
{
// get and lock handle to edit text
HANDLE handle=pedit->GetHandle();
LPSTR buffer=(LPSTR)LocalLock(handle);

// write edit text to file, close and unlock
int length=pedit->GetWindowTextLength();
file.Write(buffer,length);
file.Close();
LocalUnlock(handle);

//pedit->SetFocus();
}
这些程序可用,我一直在用

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
MFC(Microsoft Foundation Class)是一种基于Windows的C++类库,可以用于开发Windows应用程序。在MFC中实现txt文件写入读取可以通过以下步骤完成: 1. 写入txt文件: 首先,需要创建一个CFile对象来处理文件的输入输出操作。使用CFile的Open方法打开一个已存在的txt文件或者使用Create方法创建一个新的txt文件。 例如: CFile file; if (file.Open(_T("example.txt"), CFile::modeCreate | CFile::modeWrite)) { CString strWrite = _T("这是一个示例文本。"); file.Write(strWrite, strWrite.GetLength() * sizeof(TCHAR)); file.Close(); } 在上述示例中,我们首先创建了一个CFile对象,并通过Open方法打开一个名为"example.txt"的文件。然后,我们使用Write方法将字符串"这是一个示例文本。"写入文件中,并通过Close方法关闭文件。 2. 读取txt文件: 同样,我们需要创建一个CFile对象处理文件的输入输出操作。使用CFile的Open方法打开一个已存在的txt文件。 例如: CFile file; if (file.Open(_T("example.txt"), CFile::modeRead)) { TCHAR szRead[100]; file.Read(szRead, 100 * sizeof(TCHAR)); CString strRead(szRead, file.GetLength()); file.Close(); AfxMessageBox(strRead); } 在上述示例中,我们首先创建了一个CFile对象,并通过Open方法打开一个名为"example.txt"的文件。然后,我们使用Read方法将文件中的内容读取到字符数组szRead中,并通过Close方法关闭文件。最后,我们将字符数组转换为CString类型,并使用AfxMessageBox显示读取到的文本内容。 通过以上步骤,我们可以在MFC应用程序中实现txt文件写入读取操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值