添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
ellg() 和 tellp() 这两个成员函数不用传入参数,返回pos_type 类型的值(根据ANSI-C++ 标准) ,就是一个整数,代表当前get 流指针的位置 (用tellg) 或 put 流指针的位置(用tellp). seekg() 和seekp() 这对函数分别用来改变流指针get 和put的位置。两个函数都被重载为两种不同的原型: seekg ( pos_type position ); seekp ( pos_type position ); 使用这个原型,流指针被改变为指向从文件开始计算的一个绝对位置。要求传入的参数类型与函数 tellg 和tellp 的返回值类型相同。 seekg ( off_type offset, seekdir direction ); seekp ( off_type offset, seekdir direction ); 使用这个原型可以指定由参数direction决定的一个具体的指针开始计算的一个位移(offset)。它可以是: ios::beg 从流开始位置计算的位移 ios::cur 从流指针当前位置开始计算的位移 ios::end 从流末尾处开始计算的位移 #include #include <fstream> using namespace std; const char * filename= " a.txt " ; int main() long l,m; ifstream infile(filename,ios:: in |ios::binary); // 以二进制形式建立一个输入流,与文件a.txt建立关联 // infile.seekg(0,ios::beg); // 定位读指针位置为文件开始 l=infile.tellg(); // 获取当前读指针位置(字节) infile.seekg( 0 ,ios::end); // 定位读指针位置为文件结尾 m=infile.tellg(); // 获取当前读指针位置(字节) infile.close(); // 关闭文件 cout<< " sizeof " << filename; cout << " is " <<(m-l)<< " bytes.\n " ; system( " pause " ); // 暂停一下 return 0 ;