读取和写入文件
如果已使用 C 运行时库文件处理函数,则 MFC 读取和写入操作将显得很熟悉。 本文介绍如何直接对 CFile
对象进行读取和写入。 还可以使用 CArchive 类执行缓冲文件 I/O。
读取和写入文件
使用
Read
和Write
成员函数在文件中读取和写入数据。- 或者 -
该
Seek
成员函数还可用于在文件中移动特定偏移量。
Read
获取指向缓冲区的指针和要读取的字节数,并返回读取的实际字节数。 如果由于到达文件尾 (EOF) 而无法读取所需的字节数,则返回读取的实际字节数。 如果发生任何读取错误,则会引发异常。 Write
与 Read
类似,但不会返回写入的字节数。 如果发生写入错误,包括未写入指定的所有字节,则会引发异常。 如果有一个有效的 CFile
对象,则可以对该对象进行读取或写入,如以下示例所示:
TCHAR szBuffer[256];
UINT nActual = 0;
CFile myFile;
if ( myFile.Open( _T("c:\\test\\myfile.dat"), CFile::modeCreate |
CFile::modeReadWrite ) )
{
myFile.Write( szBuffer, sizeof( szBuffer ) );
myFile.Flush();
myFile.Seek( 0, CFile::begin );
nActual = myFile.Read( szBuffer, sizeof( szBuffer ) );
}
注意
通常应在 try
/catch
异常处理块内执行输入/输出操作。 有关详细信息,请参阅异常处理 (MFC)。