3文件的定位 6.1 (2) void Seek ToBegin(; throw( CFile Exception) 函数 Seek ToBegin将文件指针指向文件开始处。 (3) DWORD SeekToEnd(; throw( CFileException 函数 SeekToend将文件指针指向文件逻辑尾部,返回值为文件 长度(字节数) 例:假设f为已打开文件,且以 STUDENT结构(定义见上例) 为记录,下面的 GetData函数读取第 rEcord条记录的值
6.1 3 文件的定位 (2)void SeekToBegin( ); throw(CFileException); 函数SeekToBegin将文件指针指向文件开始处。 (3)DWORD SeekToEnd( ); throw( CFileException ); 函数SeekToEnd将文件指针指向文件逻辑尾部,返回值为文件 长度(字节数) 例:假设f为已打开文件,且以STUDENT结构(定义见上例) 为记录,下面的GetData函数读取第nRecord条记录的值
3文件的定位 6.1 STUDENT GetData( CFile f, int nRecord) offset STUDENT 计算第 rEcord条记录在文件中的位置 offset =(nRecord-1)*sizeof(STUdENt) ∥文件指针移到文件头 f SeekTo Begin ∥从人当前位置移动 offset"个字节 f Seek(offset, CFile: current); ∥/取记录信息 f Read(s, sizeof(STUDENT)) return s
6.1 3 文件的定位 STUDENT GetData(CFile f, int nRecord) { int offset; STUDENT s; //计算第nRecord条记录在文件中的位置 offset = (nRecord – 1) * sizeof(STUDENT); //文件指针移到文件头 f.SeekToBegin(); //从当前位置移动offset个字节 f.Seek(offset, CFile::current); //读取记录信息 f.Read(s, sizeof(STUDENT)); return s; }