12.5.2 文件的读取.txt

来自「网上第一本以TXT格式的VC++深入详解孙鑫的书.全文全以TXT格式,并每一章节」· 文本 代码 · 共 31 行

TXT
31
字号
12.5.2 	文件的读取
下面,我们在 File程序中利用 CFile类提供的方法来实现文件的读取操作。首先将 CFileView类的 
OnFileRead函数中已有代码注释起来,然后添加如例 12-19所示代码。
例 12-19 

void CFileView : :OnFileRead() 
CFile file("6.txt".CFile: :modeRead); 
char *pBuf; 
DWORD dwFileLen; 
dwFileLen=file .GetLength() ; 
pBuf=new char[dwFileLen+l]; 

pBuf[dwFileLen)=0; 
file.Read(pBuf.dwFileLen) ; 
file .Close ( ) ; 
MessageBox(pBuf) ; 

在如例 12-19所示的代码中,首先构造了一个 CFile类型的文件对象:白le,因为这时需要读取文件
的内容,所以将该文件的访问方式选择为 CFile::modeRead;接着,利用 CFile 
! 	类的 GetLength方法得到文件长度,并利用该长度构造用来存放数据的缓存区 (pBuf所指向的
内存),注意:这里为该缓存区分配内存时多分配了一个字节,并将分配内存后得到的缓存区的最后
一个字节元素赋值为 0,用来作为所读取的字符串数据的结尾。然后利用 CFile类的 Read方法读取
文件,其中第二个参数,即读取的数据总数,可以用己得到的文件长度作为参数值传递进去。当对
文件的读取操作完成之后,调用 CFile类的 Close方法关闭文件。最后,调用 MessageBox函数将读
取到的数据显示出来。
运行 File程序,单击【文件操作飞读取文件】菜单项,从程序弹出的消息框中,将可以看到读取到
了正确的数据。通过上面的例子,读者可以看到, CFile类的使用非常方便,因此在利用 MFC编程
时,如果涉及文件操作,最好采用 CFile类来完成。 

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?