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();
}
这些程序可用,我一直在用
MFC读取TXT文件,写入编辑框
最新推荐文章于 2023-03-10 22:49:35 发布