seekg seekp tellg tellp 用法

对输入流操作:seekg tellp  

对输出流操作:seekp tellp  

其中: g-get  p-put


seek是对文件指针进行定位,它有2个参数:

1.偏移量 2.开始位置

第二个参数:

ios::beg : 流的开始位置  

ios::cur : 流的当前位置

ios::end : 流的末尾

如:seekg(0,ios::begin) 对输入流文件进行定位到:开始位置

   seekp(10,ios::cur)  对输出流文件进行定位到:离当前位置10个字符的位置


tell是获得文件流指针的函数,返回文件指针的位置,它没有参数


所有输入/输出流对象(i/o streams objects)都有至少一个流指针:

ifstream,类似istream, 有一个被称为get pointer 的指针,指向下一个将被读取的元素。

ofstream, 类似ostream, 有一个指针put pointer ,指向写入下一个元素的位置。

fstream, 类似iostream, 同时继承了get 和put

  pos_type tellg() 用于输入流,返回流中‘get’指针的当前位置

  pos_type tellp() 用于输出流,返回当前流中‘put’指针的位置。