正在加载图片...
ftrean类的主要函数 成员(续1) ftrean类的主要函数成员(续2) ∥/从文件当前位置读入一些字节。 sekg和 seekp:在文件中移动当前位置, ∥/随蓍字节的读入,文件当前位置向前移动。 ∥这样就可以在文件中的任何一个位置 ∥读出或写入字节 fstream::read(char* ptr, int numbytes ∥实际上有两个当前位置 ∥-个用于读出,另一个用于写入 //向文件当前位置写入一些字节 ∥函数sekg用于改变读出位置, /(盖已经在这些位置的字节)。 ∥函数 seekp用于改变写入位量 /随着字节的写入,文件当前位置向前移动 fstream: seekg( int pos);//处理输入 fstream:: write(char* ptr, int numbtyes): fstream: seekp int pos);//处理输出 a istream: seekp(int pos, ios::end); 84缓冲区和缓冲池 缓冲 ○基本概念 目的:减少磁盘访问次数的 ○替换缓冲区的策略 方法:缓冲( buffering)或缓存 虚拟存储 caching 在内存中保留尽可能多的块 可以增加待访问的块已经在内存中的 机会 北大敏息 张幅写 缓冲区和缓冲池 替换缓冲区块的策略 ■存储在一个缓冲区中的信息经常 称为一页(page),往往是一次 新的页块申请缓冲区时,把最近 I/O的量 最不可能被再次引用的缓冲区释 放来存放新页 缓冲区合起来称为缓冲池( buffer ■“先进先出”(FIFO) pool ■“最不频繁使用”(LFU) ■“最近最少使用”(LRU7 北京大学信息学院 张铭编写 ©版权所有,转载或翻印必究 Page 37 ftream类的主要函数 成员(续1) // 从文件当前位置读入一些字节。 // 随着字节的读入,文件当前位置向前移动。 fstream::read(char* ptr, int numbytes); // 向文件当前位置写入一些字节 // (覆盖已经在这些位置的字节)。 // 随着字节的写入,文件当前位置向前移动。 fstream::write(char* ptr, int numbtyes); 北京大学信息学院 张铭编写 ©版权所有,转载或翻印必究 Page 38 ftream类的主要函数成员(续2) // seekg和seekp:在文件中移动当前位置, // 这样就可以在文件中的任何一个位置 // 读出或写入字节。 // 实际上有两个当前位置, //一个用于读出,另一个用于写入。 // 函数seekg用于改变读出位置, // 函数seekp用于改变写入位置 fstream::seekg(int pos); // 处理输入 fstream::seekg(int pos, ios::curr); fstream::seekp(int pos); // 处理输出 fstream::seekp(int pos, ios::end); 北京大学信息学院 张铭编写 ©版权所有,转载或翻印必究 Page 39 8.4缓冲区和缓冲池 „ 基本概念 „ 替换缓冲区的策略 „ 虚拟存储 北京大学信息学院 张铭编写 ©版权所有,转载或翻印必究 Page 40 缓冲 „ 目的:减少磁盘访问次数的 „ 方法:缓冲( buffering )或缓存 ( caching ) „ 在内存中保留尽可能多的块 „ 可以增加待访问的块已经在内存中的 机会 北京大学信息学院 张铭编写 ©版权所有,转载或翻印必究 Page 41 缓冲区和缓冲池 „ 存储在一个缓冲区中的信息经常 称为一页( page ),往往是一次 I/O的量 „ 缓冲区合起来称为缓冲池( buffer pool ) 北京大学信息学院 张铭编写 ©版权所有,转载或翻印必究 Page 42 替换缓冲区块的策略 新的页块申请缓冲区时,把最近 最不可能被再次引用的缓冲区释 放来存放新页 „ “先进先出”(FIFO) „ “最不频繁使用”(LFU) „ “最近最少使用”(LRU)
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有