我给你一个例子,就是打开一个文本文件(通过打开文件对话框选择要打开的文件),显示在对话框中的编辑框中(只适用与简体中中文编码方式的文本文件,不适用与uincode编码方式的文本文件):
CFileDialog FileDialog(TRUE);//定义打开文件对话框对象
FileDialog.m_ofn.lpstrFilter="*.TXT";
FileDialog.m_ofn.Flags|=OFN_ENABLESIZING|OFN_NOCHANGEDIR;
int res=FileDialog.DoModal();
if(res==IDOK)
{
CFile file;
s=FileDialog.GetPathName();//获取打开文件名及路径
if(!file.Open(s, CFile::modeRead | CFile::shareDenyWrite, &fe))
{
MessageBox("打开文件失败",NULL,MB_OK);
return;
}
BeginWaitCursor();
TRY
{
DWORD dwBitsSize = file.GetLength();
hTxt = (HTXT) ::GlobalAlloc(GMEM_MOVEABLE | GMEM_ZEROINIT, dwBitsSize);
if (hTxt == 0)
{
MessageBox("为文件分配内存失败",NULL,MB_OK);
return;
}
pTxt = (LPSTR) ::GlobalLock((HGLOBAL) hTxt);
file.ReadHuge(pTxt, dwBitsSize);
CString string;
string=LPCSTR(pTxt);
m_string=string;// m_string为与编辑框对应的字符串型变量;
UpdateData(FALSE);//把文件内容写到编辑框中,
}
CATCH (CFileException, eLoad)
{
file.Abort(); // will not throw an exception
EndWaitCursor();
}
END_CATCH
file.close
}